OC中的类(二)
继承
存在着父类和子类,被继承的类叫父类,通过继承的类称为子类,继承通过扩展或者修改既有的类来定义新类的方法。此外子类还可以
- 增加新的方法
- 增加新的变量
- 重新定义父类中的方法(重写override)
在Cocoa环境下NSObject是根类,即所有类都是他的子类,都继承NSObject,即NSObject是Objective-C中所有类的根类。
self和super这两个关键字,在一个类中如果想调用自己的方法可以使用self关键字,而如果想使用父类的方法则是使用super关键字发送消息,需要注意的是super只能用于调用父类的方法。
初始化
若子类有与父类不同的初始化方法,这时子类需要定义自己的初始化方法。
- (id)init{
self = [super init]; //一定要在最开始调用父类的初始化方法
if(self != nil){ //父类返回了实例时
// 子类专有的初始化操作
}
return self;
}
在初始化的时候子类的初始化一定在父类后面!!!
多态
多态是指,同一操作作用于不同的类的实例时,产生不同的执行结果。