oc語法特性 分類Category

2021-07-04 17:34:37 字數 697 閱讀 1562

(1)分類只能增加方法(包括類方法和物件方法),不能增加成員變數

(2)在分類方法的實現中可以訪問原來類中的成員變數;

(3)分類中可以重新實現原來類中的方法,但是會覆蓋掉原來的方法,導致原來的方法無法再使用(警告);

(4)方法呼叫的優先順序:分類->原來的類->父類,若包含有多個分類,則最後參與編譯的分類優先;

(5)主要用於擴充套件系統的累

(6)可以將類的實現分散到多個不同檔案或多個不同框架中,方便**管理。也可以對框架提供類的擴充套件(沒有原始碼,不能修改)。 

(7)建立對私有方法的前向引用:如果其他類中的方法未實現,在你訪問其他類的私有方法時編譯器報錯這時使用類別,在類別中宣告這些方法(不必提供方 法實現),編譯器就不會再產生警告

在分類中新增乙個方法

study方法的實現

1、形式上來看,extension是匿名的category。

2、extension裡宣告的方法需要在mainimplementation中實現,category不強制要求。

3、extension可以新增屬性(變數),category不可以。

Objective C語法之Category的使用

無論乙個類設計的如何完美,都不可避免的會遇到沒有 到的需求,那怎麼擴充套件現有的類呢?當然,繼承是個不錯的選擇。但是objective c提供了一種特別的方式來擴充套件類,叫catagory,可以動態的為已經存在的類新增新的行為。這樣可以保證類的原原來的基礎上,較小的改動就可以增加需要的功能。使用c...

Objective C語法之Category的使用

無論乙個類設計的如何完美,都不可避免的會遇到沒有 到的需求,那怎麼擴充套件現有的類呢?當然,繼承是個不錯的選擇。但是objective c提供了一種特別的方式來擴充套件類,叫catagory,可以動態的為已經存在的類新增新的行為。這樣可以保證類的原原來的基礎上,較小的改動就可以增加需要的功能。使用c...

oc基礎語法 oc特有語法(1)

1 根據以前學的,呼叫方法是這樣的 student stu student new stu setage 100 int age stu age 如果用點語法,這樣就可以呼叫了 stu.age 100 int age stu.age 2 點語法的本質 其實點語法的本質還是方法呼叫,當使用點語法時,編...