繼承 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 中的繼承是單一繼承的,也就是你不能同時繼承兩個類別,但你可以寫自已新的方法來擴充原有的類別,也可以用自已的方法,來取代原來父類別的方法。

所以,繼承的意義是建一個新類別來擴充或修訂原類別的功能
arrow
arrow

    shenfive 發表在 痞客邦 留言(0) 人氣()