您的位置:首页 > 其它

oc基础知识2:继承、初始化,方法重载,方法覆盖

2013-11-26 20:14 627 查看
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、继承:

子类具有父类的所有属性和特征,并且有自己独有的属性和特征。继承是“属于”关系;人是一个类,小红属于人,是人的一个子类。一个子类只能由一个父类,而一个父类可以有多个子类。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐