2010-09-03 88 views

回答

6

優點:

  • 你可以擴展任何類,甚至是那些對你沒有來源。你看,例如,爲蘋果添加到NSString類渲染UI擴展,得到了指標等

  • 既然你可以訪問所有實例變量,類別爲您提供一個很好的方式來組織你的代碼使用邏輯分組的編譯單元而不是「它必須全部在一個財務地點」的方法,例如Java。

缺點:

  • 你不能安全地覆蓋已經由類本身或其他類中定義的方法。

據我所知,語言不保證哪個實施實際上將,如果你嘗試類似呼籲:

@interface Foo { } 
- (void) method; 
@end 

@interface Foo (MyCategory) 
- (void) method; 
@end 
相關問題