继承:当C类继承了B类,C类就称之为子类,B类就称之为父类(超类)。 l OC支持多层继承,不支持多继承 l 在继承当中调用方法,首先会在本类中找,如果本类没有找到就去父类中找 l 如果在子类中实现了和父类中同名同类型的方法,我们称之为重写 l 在子类中不仅可以重写父类当中的对象方法,也可以重写父类当中的类方法 l 在OC当中子类继承了父类,就不能定义和父类同名的成员变量 l 当A类继承了B类,A类就拥有了B类所有的成员变量和方法 优点: 1. 继承的出现减少了代码量 2. 提高了代码的安全性 3. 让类与类之间产生了关系 4. 让phone和Iphone有了关系(父子关系),正是因为有了父子关系才有多态的特性让IPhone和Anycall有了关系(兄弟关系) 坏处: 耦合性太强(依赖)。 子父类中的方法调用顺序: 先在本类中找,如果本类没有再到父类中找,如果父类中没有,就到爷爷类中找,NSObject是99.9%的类的父类。 super:明确的告诉程序要执行父类中的方法 file://localhost/Users/qiaoming/Library/Caches/TemporaryItems/msoclip/0/clip_image002.png 使用场合:子类重写父类方法的时候想保留父类的一些行为的时候。 l 使用super在对象方法中调用父类的方法会调用父类的对象方法 l 使用super在类方法中调用父类方法,会调用父类的类方法
|