類別主要有3個作用:
(1)將類的實現分散到多個不同檔案或多個不同框架中。
(2)建立對私有方法的前向引用。
(3)向物件新增非正式協議。
區別:category 可以在不獲悉,不改變原來**的情況下往裡面新增新的方法,只能新增,不能刪除修改。// category:類、種類
並且如果類別和原來類中的方法產生名稱衝突,則類別將覆蓋原來的方法,因為類別具有更高的優先順序。//類別跟類的優先順序
繼承可以增加,修改或者刪除方法,並且可以增加屬性。
/* 非正式協議:是使用類別category來實現,非正式協議是nsobject的乙個類別,這樣任何類的物件都可以作為委託物件來使用,它可以列出物件能夠執行的所有方法,這樣用來實現委託, 我們可以使用選擇器來判斷該非正式協議中是否有這個方法。 正式協議:是乙個命名的方法列表,與非正式協議相比不同的是,它要求顯示的採用協議,採用協議的方法是在類的@interface宣告中列出協議的名稱,此時,實現協議的類應該遵守協議,承諾實現協議中的所有方法。 */
類別的作用?
有時我們需要在乙個已經定義好的類中增加一些方法,而不想去重新寫該類。比如當 工程已經很大,量比較多,或者類中已經抱住很多方法,已經有其他 呼叫了該 類建立物件並使用該類的方法時,可以使用類別對該類的擴充新的方法。注意 類別只能擴充方法,而不能擴充成員變數。委託 舉例 委託 degegate 顧名思義...
繼承跟類別的區別
類別 category 和繼承的區別?類別 類別是對乙個功能完備的類的一種補充,就像是乙個東西的主要基本功能都完成了,可以用類別為這個類新增不同的元件,使得這個類能夠適應不同情況的需求。比如animal這個類,具有eat和run等方法,想給這個類新增乙個bark的方法,可以用類別。繼承 多個類具有相...
ios類別和繼承的區別
在ios中,給類新增方法有兩種方式 繼承和類別。1.繼承 繼承時物件導向的三大特性之一,子類會繼承父類的所有方法和屬性。2 類別 既然繼承和類別都可以擴充套件類方法,那類別存在的理由是什麼呢?1.不改變原類的條件下,想類新增方法,這點繼承做不到。2.可以把相關的方法分組到多個單獨的檔案中,便於管理 ...