OC、类设计、三大特征(封装、继承、多态)、重写、self、super
OC基础
.m可写C和OC;.mm可写C++
关键字是以@开头(部分不是)
字符串是以@开头
BOOL:(YES/NO)
nil 相当于NULL或0
输出打印:NSLog(@“”);
#import<Foundation/NSObjcRuntime.h>
//相当于#include;防止重复拷贝
#import<Foundation/Foundation.h>
类的设计
(1)类名
首字母大写
不能用下划线
(2)类的声明
@interface Car:NSObject
{
}
@end
(3)类的实现
@implementation Car
@end
[行为执行者 行为名称];// 执行某个行为
[Car new];// 创建对象
@public 可以让外部的指针间接访问对象内部的成员变量
方法(行为):方法名、参数、返回值(声明、实现)
OC对象的方法必须以减号 - 开头
OC方法中的小括号 () 括住数据类型
消息机制:给指针对象发送一条方法消息
每个对象都有isa指针:指向的是类(方法列表)
OC方法中,一个参数对应一个冒号:
冒号也是方法名的一部分
代码格式要规范,注释留空格
面向对象的三大特征:封装、继承、多态
成员变量尽量不要用@public
set方法:形参名称不能和成员变量名称一样
get方法:方法名和成员变量名一样,不能接受参数
成员变量的命名规范:一定要以下划线_开头
类方法是以+开头,只能由类名调用,不能访问成员变量
对象方法是以-开头,只能由对象调用
继承:(1)不允许子类和父类拥有相同名称的成员变量
(2)父类声明必须在子类的前面
重写:子类重新实现父类中的某个方法,覆盖父类以前的做法
坏处:耦合性太强
多态:父类指针指向子类对象
组合:xxx拥有xxx
self 指向方法调用者
self ——>成员变量
[self 方法名]
super:
外在对象方法中,调用父类对象方法;
外在类方法中,调用父类类方法;