我一直在努力尋找一個正確和明確的答案,所以我決定在這裏提問。如何禁止繼承init方法?
創建類A和定義init方法有:
@interface A : NSObject
- (id)initWithHealth:(int)hp;
@end
然後我創建類B,即從類A繼承和定義另一個init方法有:
@interface B : A
- (id)initWithHealth:(int)hp andDamage:(int)dmg;
@end
在主,當我要從類B實例化一個對象時,Xcode會建議我使用- (id)initWithHealth:(int)hp;或- (id)initWithHealth:(int)hp andDamage:(int)dmg; init方法。 如何禁止B類繼承A類的init方法?我希望我的類B只有一個我定義的init方法。有沒有辦法做到這一點?
在此先感謝。
不,但您可以在B類中禁用A的方法:http://stackoverflow.com/a/5772821/412916 – Jano