目錄
- 類方法聲明
- 類方法實(shí)現(xiàn)
- 對象方法和類方法區(qū)別
1.類方法聲明
-
格式
- 將對象方法-號變?yōu)?號
-
特征
- 類方法以+開頭 如+(void)put;
- 類方法只能由類來調(diào)用
- 類方法中不能訪問實(shí)例(成員)變量,因?yàn)轭惙椒ㄓ深悂碚{(diào)用,并沒有創(chuàng)建存儲空間 來存儲類中的成員變量裆蒸。
-
類方法的好處:
- 節(jié)省內(nèi)存空間
- 不依賴于對象,執(zhí)行效率更高;
- 能用類方法解決的問題,盡量使用類方法;
-
類方法的場合:
- 當(dāng)方法內(nèi)部不需要使用到成員變量時(shí),可以改為類方法
- 類方法一般用于編寫工具方法
示例
//聲明沒有返回值的方法
+ (void)method;
//聲明有返回值的方法
+ (int)method;
//聲明有返回值有參數(shù)的方法
+ (int)method: (int)var;
//聲明有返回值有多個(gè)參數(shù)的方法
+ (int)method: (int)var1 andVar2: (int)var2;
2.類方法實(shí)現(xiàn)
+ 必須寫在以@implementation開頭址遇,@end之間
+ 在聲明的后面加上{}即表示實(shí)現(xiàn)
+ 將需要實(shí)現(xiàn)的代碼寫在{}中
3.對象方法和類方法區(qū)別
-
對象方法
- 對象方法是屬于對象的方法
- 以減號-開頭
- 只能讓對象調(diào)用,沒有對象蒿柳,這個(gè)方法不能被執(zhí)行
- 對象方法能訪問實(shí)例變量(成員變量)
- 對象方法中可以調(diào)用當(dāng)前對象的對象方法
- 對象方法中可以調(diào)用其它對象的對象方法
- 對象方法中不可以調(diào)用類方法
-
類方法
- 類方法是屬于類的
- 以加號+開頭
- 只能用類名調(diào)用阵难,對象不能調(diào)用
- 類方法中不能直接訪問實(shí)例變量(成員變量)
- 類方法中不能直接調(diào)用對象方法岳枷,要想調(diào)用對象方法芒填,必須創(chuàng)建或傳入對象呜叫。
-
使用場合:
- 當(dāng)不需要訪問成員變量的時(shí)候,盡量用類方法
類方法和對象方法可以同名