我已經創建了我的課需要實現一個協議,然後分解出一些常見的功能集成到一個基類部分基類「完全執行」警告,所以我這樣做:如何避免
@protocol MyProtocol
- (void) foo;
- (void) bar;
@end
@interface Base <MyProtocol>
@end
@interface Derived_1 : Base
@end
@interface Derived_2 : Base
@end
@implementation Base
- (void) foo{
//something foo
}
@end
@implementation Derived_1
- (void) bar{
//something bar 1
}
@end
@implementation Derived_2
- (void) bar{
//something bar 2
}
@end
在我的代碼中以這種方式使用通用編號<MyProtocol>。
代碼工作(只要基本不能直接使用),但編譯器扼流圈在基地實施的最後一個警告:
Incomplete implementation of class Base
是否有辦法避免這種警告,或甚至更好,在Objc中獲得這種部分實現的抽象基類行爲的更正確方法?
好吧,這將至少強制執行大多數派生類中的實現。 雖然編譯時間警告對於未實現的方法會很好,但是我想沒有辦法(?) 有沒有一種正確的方法可以在Obj-c中完成這個基類的部分實現? – garph0 2010-05-18 10:41:20
不是。正如其他人所指出的,Objective-C沒有抽象基類。我用過的每種方法都只能讓你分開。 – mipadi 2010-05-18 12:03:36