类的封装性:内部的方法可以随便使用成员属性。
访问私有类型和保护类型成员变量只能通过类的成员方法访问
使用get和set方法:给保护类型和私有类型的数据一个对外开发接口,保护成员变量不被外界破坏(过滤非法数据),更好地隐藏成员变量
set方法:set+变量名
get方法:只写变量名作为方法名
对象方法以-号开头,对象方法不能通过类来调用
-(void)say; //person *per=[person new]; [per say];
类方法只能通过类来调用,不能通过对象调用,不能调用成员变量----类在设计的时候不占内存空间,在创建类的对象的时候才会分配内存空间,类方法不需要对象直接就可以调用,可能在调用的时候还没创建(类方法不能使用成员变量),类方法使用场合(当不需要使用成员变量的时候尽量用类方法来实现),类方法一般用于工具类。
+(void)ssay;//如果类是person,则调用ssay方法是[person ssay];
self关键字: 表示类本身可以用self->成员变量(只使用于类的内部)
super关键字: 表示父类
self=[super init]; [super init]就是对子类中继承父类中的属性和方法进行初始化,[super init]可能会malloc失败,所以要判断self是否为nil。
类继承:父类的方法都是对外开放的 _func_---------显示是哪个方法调用了
继承与被继承需具有共同特性,可以看作是事物衍生或升级
继承的作用是减小子类代码量,方便类的升级
oc继承特点:单继承。
1.在字类中可以重写父类的方法(子类中可以不声明直接实现父类的方法)
继承必须先初始化父类,然后再初始化子类。继承的特点。