成员属性(子类如何继承)

在父类声明的属性,自动生成的成员变量、set/get方法都可以被子类继承,但自动生成的成员变量为私有类型@private,不可以直接给子类访问。但可以通过继承过来的set/get方法访问子类继承过来的成员变量;类扩展中声明的属性及方法不可以给子类继承,只能给父类自己调用;当创建一个子类并声明子类自己的成员属性,创建实例对象并初始化时,无法为继承过来的成员变量赋值,需要调用父类的指定初始化方法进行初始化。

  • 创建一个子类KNZSon,并在KNZSon.h头文件声明一个成员属性nickName及指定初始化方法:
Snip20161008_5.png
  • 实现指定初始化方法
    • -(instancetype)initWithName:(NSString *)name age:(int)age sex:(BOOL)sex nickName:(NSString *)nickName
Snip20161008_6.png
  • 先调用父类指定初始化方法:- [super initWithName:name age:age sex:sex],并让self接收。
  • 判断self是否为空,如果不为空则在if代码中为子类成员变量初始化"_nickName = nickName;"
  • 返回self
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容