Objective-C]OC中類別(Category)基本概念與用法 - 程式人生
文章推薦指數: 80 %
類別(Category)的基本概念. 封裝是面向物件的一個特徵,OC也不例外,但是有的時候我們會碰到這樣的一種情況,不如我封裝了一個類,.
程式人生>>Objective-C]OC中類別(Category)基本概念與用法
Objective-C]OC中類別(Category)基本概念與用法
阿新••發佈:2019-02-05
類別(Category)的基本概念
封裝是面向物件的一個特徵,OC也不例外,但是有的時候我們會碰到這樣的一種情況,不如我封裝了一個類,
不想再動它了,可是隨著程式功能的增加,需要在那個類中增加一個小小的方法,這是我們就不必再那個類中
做修改或者在定義一個子類,只需要在用到的地方隨手新增一個該類的類別(Category)即可。
(1)在類別中定義的方法,會成為原始類的一部分,與其他方法的呼叫沒有區別。
(2)通過給父類定義類別方法,其子類也會繼承這些方法。
如果子類新增類別方法,父類則不會用手子類的類別方法。
類別方法的應用
對現有類進行擴充套件:比如,可以進行擴充套件Cocoatouch框架中類,你在類別中增加的方法會被子類所繼承,而且
在執行時跟其他的方法沒有區別。
作為子類的替代手段:不需要定義和使用一個子類,你可以通過類別直接向已有的類別中增加方法。
對類中的方法進行歸類:利用category把一個龐大的類劃分為小塊來分別進行開發,從而更好的對類中的方法進行更新和維護。
類別方法的侷限性
無法向類別中,新增新的例項變數,類別沒有位置來容納例項變數。
如果想增加類的例項變數,只能通過定義子類的方式。
如若在類別中覆蓋現有類的方法。
這樣可能會引起super訊息鏈的斷裂,因為類別中的方具有更高的優先順序,因此,一般不要覆蓋
現有類中的方法
類別的命名和用法
類別的命名規則:類名+擴充套件方法,如:NNString+Add;
類別的介面宣告與類的定義十分相似,但是類別不繼承父類,只需要帶有一個括號,表明該類的主要用途
宣告檔案:
?
1
2
3
4
5
6
#import
延伸文章資訊
- 1Objective-C]OC中類別(Category)基本概念與用法 - 程式人生
類別(Category)的基本概念. 封裝是面向物件的一個特徵,OC也不例外,但是有的時候我們會碰到這樣的一種情況,不如我封裝了一個類,.
- 2Google 產品類別[google_product_category]
Google 的產品分類將持續更新,所有產品都會自動指派為其中一個產品類別。提供完善貼切的名稱和說明,以及準確的價格、品牌和全球交易品項識別碼.
- 3SAP中类型(Type)和类别(Category)详解及其区别 - CSDN博客
如:SD凭证类型和SD凭证类别、订单类型和订单类别等。 类别(Category):确定凭证或订单技术属性,并对类型进行分类(一个类别对应对个类型), 确定凭证 ...
- 4category中文(繁體)翻譯:劍橋詞典
category翻譯:種類,類別,範疇。了解更多。
- 5category - Yahoo奇摩字典搜尋結果
種類;部屬;類目;【數】範疇,類型. Dr.eye 譯典通 · category · 查看更多. IPA[ˈkætəgəri]. 美式. 英式. n. 種類. 牛津中文字典. Category....