------
Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
代码实现:
注意:
父类也称基类,子类也称派生类。派生类会继承基类的属性和方法,同时也可以拥有自己特有的属性和方法。
代码实现:
最上层父类在创建时为:
@interface Animal : NSObject
@interface Animal : NSObject
其中默认使用NSObject,表示没有父类。
基类创建(Animal的子类Dog):
#import "Animal.h"
@interface Dog : Animal
@interface Dog : Animal
表明dog类继承animal类,为anim类的派生类。
可以一下两种方法创建:
注意:
1)基类的私有属性能被继承,不能被使用。
2) OC中的继承是单继承:也就是说一个类只能一个父类,不能继 承多个父类
3)继承的合理性:
方法的重写:
从父类继承的方法,可能这个方法并不适合子类,可以在子类中重写父类的方法。
方法的重写:
从父类继承的方法,可能这个方法并不适合子类,可以在子类中重写父类的方法。
即把父类的方法,在子类中重新实现。
重写之后,父类的对象调用父类的方法;子类的对象调用子类的方法,不会引起冲突。
但子类可以通过super调用父类的方法。
从父类继承的方法,不适用于子类时,可以直接声明父类的同名方法,并定义。不用考虑父类中,方法已存在的问题。
方法调用的顺序:
1、在自己类中找
1、在自己类中找
2、如果没有,去父类中找
3、如果父类中没有,就去父类的父类中
4、如果父类的父类也没有,就还往上找,直到找到基类( NSObject)
5、如果NSObject也没有就报错了
基类继承的注意事项:
1) 子类不能定义和父类同名的变量,但是可以继承父类的变量
2) OC类支持单一继承,不支持多继承
只能有一个父类
3) OC类支持多层继承