OC第三天:继承、初始化⽅法、便利构造器

⼀、继承

继承的上层:⽗类,继承的下层:⼦类。
继承是单向的,不能相互继承。
继承具有传递性:A继承于B,B继承于C,A具有B和C的特征和⾏ 为。
⼦类能继承⽗类全部的特征和⾏为。
⾯向对象提供了继承语法,能⼤⼤简化代码。把公共的⽅法和实例 变量写在⽗类⾥,⼦类只需要写⾃⼰独有的实例变量和⽅法即可。
继承既能保证类的完整,⼜能简化代码

继承特点

OC中只允许单继承。
没有⽗类的类称为根类,OC中的根类是NSObject(祖宗)。
继承的内容:所有实例变量和⽅法。
如果⼦类不满意⽗类⽅法的实现,可以重写(overwrite)⽗ 类的⽅法。


super

super是编译器指令,并⾮对象。

作⽤:给super发消息,可以执⾏⽗类中实现的⽅法。
⼦类可以重写⽗类的⽅法,即:⼦类既有⾃⼰的实现,⼜有⽗ 类继承下来的实现,如果想使⽤⽗类的实现,向super发送消息。

⼆、初始化⽅法

初始化⽅法

创建对象分两步:开辟空间、初始化。
初始化⽅法的主要作⽤是:为某些实例变量赋初值。
初始化⽅法在对象的整个⽣命周期⾥只使⽤⼀次。

初始化过程
1. ⾃⼰的初始化⽅法中,优先调⽤⽗类的初始化⽅法
2. ⽗类的初始化⽅法中再调⽤⽗类的初始化⽅法,依次往上调⽤
3. 处于最上层的初始化完成之后,回到第⼆层的初始化⽅法中, 完成第⼆层的初始化。
4. 第⼆层的初始化完成之后,回到第三层的初始化⽅法中,依次 执⾏初始化⽅法,直到本类的初始化⽅法完成。
初始化⽅法特征
初始化⽅法是 “-”⽅法
id或者instancetype类型的返回值
以init开头
可以带0到多个参数

内部实现:先执⾏super的初始化⽅法,再初始化⾃⾝变量,return self。

三、便利构造器

便利构造器
便利构造器在初始化⽅法的基础上前进了⼀⼩步。封装了对象创 建过程。
便利构造器是“+”⽅法,返回 本类型 的实例,⽅法名以类名开 头。
可以有0到多个参数。

内部实现:封装了alloc和初始化⽅法。使⽤起来更加简洁。


总结

继承是⾯向对象三⼤特性之⼀,合理的继承,能减少很多冗余代码, 加快开发速度。
初始化⽅法以init开头,在对象的声明周期中只使⽤⼀次。
便利构造器封装了对象的创建过程,进⼀步简化了对象创建的步骤。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值