31 oc分類和類擴充套件

2022-09-11 06:36:08 字數 1061 閱讀 5681

分類基本概念

書寫category的格式

// 分類的宣告

@inte***ce classname (categoryname)

newmethod; //在類別中新增方法

//不允許在類別中新增變數

@end

classname: 需要給哪個類擴充方法

categoryname: 分類的名稱

newmethod: 擴充的方法

// 分類的實現

@implementation classname(categoryname)

newmethod

@end

classname: 需要給哪個類擴充方法

categoryname: 分類的名稱

newmethod: 擴充的方法

category的作用

在不改變原來的類內容的基礎上,為類增加一些方法。

乙個龐大的類可以分模組開發,由多個人來編寫,更有利於團隊合作

分類注意事項

分類是用於給原有類新增方法的, 它只能新增方法, 不能新增屬性(成員變數)

分類中的@property, 只會生成setter/getter方法的宣告, 不會生成成setter/getter方法的實現以及私有的成員變數

可以在分類中訪問原有類中.h中的屬性

注意: 如果分類中有和原有類同名的方法, 會呼叫分類中的方法

也就是說會忽略原有類的方法

注意: 在開發中盡量不要這樣寫

分類,原來類或者父類中的方法呼叫的順序?

先呼叫分類中的方法(最後參與編譯的分類優先),再呼叫原來類中的方法,最後呼叫父類中的方法

什麼是類擴充套件

延展類別又稱為擴充套件(extension),extension是category的乙個特例

類擴充套件格式

@inte***ce類名 ()

@end

對比分類, 就少了乙個分類名稱,因此也有人稱它為」匿名分類」

類擴充套件的作用是什麼

寫在.m檔案中,可以為某個類擴充一些私有的成員變數和方法

分類和類擴充套件

分類 category 和 類擴充套件 extension 分類 category 1 給已經存在的類增加方法 可以不實現 不能增加成員變數 可以通過runtime來給分類新增屬性 2 分類可以訪問原來類中的成員變數 3 如果分類和原來的類出現同名的方法,優先呼叫分類中的方法 優先順序是 分類 最後...

oc 類擴充套件

封裝的特性就是暴露公共介面給外邊呼叫,c 通過public定義公共方法提供給外面呼叫,protected和private定義的方法只能在類裡面使用,外面不能呼叫,若外面呼叫,編譯器直接報錯,對於變數也同理。oc裡面類擴充套件類似protected和private的作用。1.類擴充套件是一種特殊的類別...

OC學習 7 關於分類和擴充套件

文件更新狀態 2015 12 21 發布 day07 2015 12 18 一 分類和擴充套件 1.分類語法 inte ce 原類名 分類名 擴充套件的方法,屬性 一般較少 宣告 end implementation 原類名 分類名 擴充套件的方法的實現,屬性的getter和setter的實現 en...