繼承 Inheritance 是物件導向中一個很重要的概念,而繼承的意義是建一個新類別來擴充或修訂原類別的功能。
在 Objective-C 中的根類別是 NSObject 類別,除了它以外,每一個類別,都必需有一個父類別。一個子類別,一定會有父類別的所有功能特性,包括實體變數與方法等。所以 alloc,init 等 方法,就可以用在每一個所有的類別與實體上。
請看下面的案例:
// Car 類別
@interface Car : NSObject
@property int speed;
@end
@implementation Car
@end
// Turbo Car 類別
@interface turboCar : Car
@end
@implementation turboCar
@end
在上面這個例子中 Turbo Car 是 Car 的子類別,所以有Car 的實體變數與 setter getter。所以我們可以在主程式寫
turboCar *theTurboCar = [[turboCar alloc] init];
theTurboCar.speed=100;
我們雖然没有在 Turbo Car 類別中,寫 speed 實體變數,但卻可以在 turboCar 的實體中,存取 speed 變數。
在 Obj-C 中的繼承是單一繼承的,也就是你不能同時繼承兩個類別,但你可以寫自已新的方法來擴充原有的類別,也可以用自已的方法,來取代原來父類別的方法。
所以,繼承的意義是建一個新類別來擴充或修訂原類別的功能。
文章標籤
全站熱搜
留言列表