1.继承作为OC 三大特征之一,它有什么特点?
继承的特性:
1.继承是单向的(从上到下)
2.继承是可传递的
3.继承不能相互继承
4.继承不能多继承
5.继承 就是 子类继承父类的 所有的 实例变量和方法
6.子类可以复写父类的方法
2 继承的优点
⾯向对象提供了继承语法,能⼤⼤简化代码。把公共的⽅法和实例变量写在⽗类⾥,⼦类只需要写⾃⼰独有的实例变量和⽅法即可。继承既能保证类的完整,⼜能简化代码。
3.继承的方法的调用顺序:
原则:就近选择
继承中方法的调用:
使用self调用方法的时候 优先调用本类中的方法
没有 继续查找上一级
找到就调用,没有就继续查找 向上所有类都没有找到 程序崩溃
使用super调用方法的时候
直接跳过本类 去查找上一级的父类 找到就调用 没有继续查找 向上所有类都没有找到 程序崩溃
super 没有特殊的意义 就是一个编译器指令
4.完整的自定义初始化方法
下图中介绍了完整的自定方法:
在一个自定义的实现这种方法,您必须调用父类的指定初始化初始化方法,并返回新对象。如果不能初始化新对象,方法应该返回零。(如果父类的新对象已经初始化,你可以在判断语句成立的内部写子类的初始化方法),例如,假设BuiltInCamera类可能返回nil的init方法如果运行在设备上没有相机。
5.便利构造器
1.便利构造器是一种快速穿件对象的方式,它本质上是把初始化做了一次封装,方便外界使用.
2.便利构造器是一个类方法,在其内部使用了自定义初始化方法,返回该类的一个对象.