類別、分類、繼承

定義


  1. 類別(category)應用非常常見,特別是在為系統類進行擴展的時候,我們可以不用繼承系統類,直接給系統類添加方法。最大程度上體現了OC語言的動態性。但是類別只能添加方法不能添加屬性。

  2. 繼承(inherit),一個類(子類)繼承于另一個類(父類),那么子類不僅擁有父類所有的屬性和方法,而且可以創建屬于自己的屬性和方法。

類別和繼承的使用


只能使用繼承,類別無法實現。

  • 新擴展的方法與原方法同名,但是還需要使用父類的實現。因為類別會覆蓋原類的實現,無法訪問到原來的方法。
  • 擴展類的屬性,這個類別無法做到。

最好使用類別情況

  • 針對系統提供的一些類,例如:NSString,NSArray,NSNumber等類,系統本身不提倡使用繼承去擴展方法,因為這些類內部實現對繼承有所限制,所以最后使用類別來進行方法擴展。
  • 類別支持開發人員針對自己構建的類,把相關的方法分組到多個單獨的文件中,對于大型而復雜的類,這有助于提高可維護性,并簡化單個源文件的管理。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容