1、成员属性的访问控制方式:
@private表示成员属性只能在类内使用,不能被别的类和该类的子类使用;
@public表示成员属性可以被子类使用,也可以被别的类使用
@protected表示成员属性可以在类内合其子类使用。
若没有直接说明访问方式,则默认为是@protected。
2、初始化方法:
初始化时,首先调用父类的初始化方法,然后调用子类的初始化方法;
Oc中有2个关键字可以在方法实现中代表执行方法的对象
Self:执行方法的对象本身;
Super:调用对象的父类来执行方法;
Self除了可以性自身请求方法外,还可以作为一个代表对象本身的变量来使用,而super只能出现在消息表达式中。
初始化方法的返回值类型必须为id,格式如下:
-(id) init
{
If(self=[super init])
{初始化成员属性;}
else
{return nil;}
return self;
}
当子类和父类中定义了相同的方法名时,子类会重载父类的方法。
重载(overload):基于同一个类,对于类的方法(包括从父类中继承的方法),方法名相同,参数列表不同的方法之间就构成了重载关系。
覆盖 (override):也叫重写,是基于继承的。就是在当父类中的某些方法不能满足要求时,子类中改写父类的方法。当父类中的方法被覆盖了后,除非用super关键字,否则就无法再调用父类中的方法了。
3、继承:
子类具有父类的所有属性和特征,并且有自己独有的属性和特征。继承是“属于”关系;人是一个类,小红属于人,是人的一个子类。一个子类只能由一个父类,而一个父类可以有多个子类。