你已經得到它完全地錯了。熱門建設有:
ClassB.h
@interface ClassB
- (void)method;
@end
ClassB.m
@interface ClassB()
@end
@implementation ClassB
- (void)method
{
//do nothing or even assert false
}
@end
ClassA.h
@interface ClassA : ClassB
@end
ClassA.m
@interface ClassA()
@end
@implementation ClassA
- (void)method
{
//do your stuff here
}
@end
這就是所謂的方法重寫。但是,如果我理解正確,你想什麼來實現你應該有:
ClassB.h
@interface ClassB
- (void)method;
@end
ClassB的。米
@interface ClassB()
@end
@implementation ClassB
- (void)method
{
//do your stuff here
}
@end
ClassA.h
@interface ClassA : ClassB
@end
而且也沒有必要亂用ClassA的,你可以調用
ClassA *o=[[ClassA alloc ] init];
[o method];
然後method
在CLASSA感謝可供繼承來自ClassB。
張貼一些代碼,沒有它,你的問題不清楚 – 2012-04-13 11:00:42
@MichałZygar,這是相當清楚。我在類中有一個方法,實現在它的超類中。 – yoyosir 2012-04-13 11:28:56
我不這麼認爲。看起來你在那裏建造了一些奇怪的結構。無論如何。爲什麼你有在超類中實現並在派生類中聲明的方法?你爲什麼不把這個方法的聲明放在超類頭文件中?然後你可以直接從派生類中調用這個方法。 – 2012-04-13 11:34:29