1.什麼是協議
-協議就是規則,定義乙個協議就相當於制定規則。
-oc中類可以遵守協議,遵守了乙個協議的類相當於擁有了一種能力。
1.2.協議的定義
@protocol 協議名
@required 宣告必須遵守的屬性和方法
@optional 宣告可選遵守的屬性和方法
預設 @required
@end
2..1什麼是分類
(以維護,可以為源**新增新的功能,乙個分類只能對應乙個主類)
-分類就是類的補充和擴充套件部分
-補充可擴充套件的每個部分就是分類
-分類本質上是類的一部分
-分類是給特定類新增能力
2.2分類的定義方式
-分類也是以**的形式儲存在檔案中
-分類檔案也分為.h檔案和.m檔案
*.h檔案存放分類的宣告的部分內容
@inte***ce 主類類名 (分類類名)
//新增方法宣告(分類中只能寫方法,不能定義屬性)
@end
*.m檔案按存放分類的實現部分內容
@implementation 主類類名 (分類類名)
//新增方法的實現
@end
2.3分類的定義方式
-分類中是不可以建立例項變數的,自然也不可以建立屬性。
-在分類中是可以訪問主類的屬性,但不可以訪問主類的例項變數。
3.什麼是擴充套件
-擴充套件是分類的一種特殊形式,擴充套件是沒有名字的分類
-擴充套件通常定義在檔案的.m中,不能分開
-擴充套件中可以宣告
例項變數
屬性
方法
以上宣告的三個內容均是私有的,只能在.m檔案中使用
擴充套件中的屬性除非寫@public,否則全部只能在類內使用
擴充套件的定義
-擴充套件中可以宣告例項變數,所以可以宣告屬性
-擴充套件通常定義在檔案的.m中,不能分開。
-擴充套件是用來宣告私有的屬性和方法
4.分類與擴充套件的區別
-分類:是不可以宣告例項變數,通常是公開的,檔名通常為:「主類類名+分類類名.h」
-擴充套件:是可以宣告例項變數,是私有的,檔名通常為:「主類類名_擴充套件標識.h」,注意擴充套件沒有名的。
Objective C 協議 分類 擴充套件
1.協議是一種要求,或者一種規則 2.對程式來講,是只宣告,不實現 3.協議必須被某個類採納且在該類中給出協議中方法的函式體 4.對於採納協議的類,可以和其他類一樣使用建乙個協議myprotocol h檔案 import protocol czmyprotocol property nsstring...
IOS協議 IOS分類 IOS擴充套件 總結
1.協議 1.1 是一種要求,或是一種規則 1.2 對應程式來講,是只生成方法的宣告,不實現 1.3 協議必須被某個類採納,且在該類中給出協議中宣告的方法函式體 1.4 對於採納協議類的物件,可以和其它物件一樣使用 1.5 協議可以被繼承,包括多個父協議 1.6 協議可以被多重採納 下面一起看一下簡...
分類與擴充套件
類擴充套件 extension 是category的乙個特例,有時候也被稱為匿名分類。他的作用是為乙個類新增一些私有的成員變數和方法。其實我們經常使用到類擴充套件,當我們建立乙個新的控制器的時候 會出現下面的 段 inte ce stwebviewcontroller 這就是類擴充套件的寫法 pro...