剛剛經歷了Objective C編程書籍。我注意到這個代碼
在Objective C中,每個用戶類都默認擴展NSObject嗎?
@interface Fraction: NSObject
{
int numerator;
int denominator;
}
-(void) print;
-(void) setNumerator: (int) n;
-(void) setDenominator: (int) d;
@end
作者在這本書中解釋每一件事情做偉大的工作,但關於這是否是一樣的只是
@interface Fraction
{
int numerator;
int denominator;
}
-(void) print;
-(void) setNumerator: (int) n;
-(void) setDenominator: (int) d;
@end
原因,我問這個比較很簡單沒有提及問題在於,在JAVA中,默認情況下每個事物都會擴展Object,並且您不需要這麼說。當然,它們是兩種截然不同的語言,但這是我想到的一個很自然的問題。
你的文章的重點是現貨,但你提到的方法是不好的參數,因爲它們實際上都在'NSObject' _protocol_中,這可以被一個新的根類所採用。 –
當然你*可以*實現它們,但我的觀點是,這樣做將是不平凡的。 – DarkDust
沒有比重新實施類的適當方法IMO更好或更差了,但足夠公平。 –