国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

【學習筆記】【OC語言】類方法

2019-11-14 18:42:31
字體:
來源:轉載
供稿:網友

1.基本概念
直接可以用類名來執行的方法(類本身會在內存中占據存儲空間,里面有類/對象方法列表)

2.類方法和對象方法對比
1>對象方法
以減號-開頭
只能讓對象調用,沒有對象,這個方法根本不可能被執行
對象方法能訪問實例變量(成員變量)

2>類方法
以加號+開頭
只能用類名調用,對象不能調用
類方法中不能訪問實例變量(成員變量)
使用場合:當不需要訪問成員變量的時候,盡量用類方法
類方法和對象方法可以同名

3.代碼

 1 #import <Foundation/Foundation.h> 2 /* 3  對象方法 4  1> 減號 - 開頭 5  2> 只能由對象來調用 6  3> 對象方法中能訪問當前對象的成員變量(實例變量) 7   8  類方法 9  1> 加號 + 開頭10  2> 只能由類(名)來調用11  3> 類方法中不能訪問成員變量(實例變量)12  13  14  類方法的好處和使用場合15  1> 不依賴于對象,執行效率高16  2> 能用類方法,盡量用類方法17  3> 場合:當方法內部不需要使用到成員變量時,就可以改為類方法18  19  可以允許類方法和對象方法同名20  */21 22 23 @interface Person : NSObject24 {25     int age;26 }27 28 // 類方法都是以+開頭29 + (void)PRintClassName;30 31 - (void)test;32 + (void)test;33 34 @end35 36 @implementation Person37 38 + (void)printClassName39 {40     // error:instance variable 'age' accessed in class method41     // 實例變量age不能在類方法中訪問42     //NSLog(@"這個類叫做Person-%d", age);43 }44 45 - (void)test46 {47     NSLog(@"111-%d", age);48     49     //[Person test];50 }51 52 + (void)test53 {54     // 會引發死循環55     //[Person test];56     57     NSLog(@"333");58     59     // 會引發死循環60 //    /[Person test];61 }62 63 @end64 65 int main()66 {67     //[Person printClassName];68     69     [Person test];70     71     //Person *p = [Person new];72     //[p test];73     74     /*75      -[Person printClassName]: unrecognized selector sent to instance 0x7fa520c0b37076      */77     // 系統會認為現在調用的printClassName是個對象方法78     //[p printClassName];79     80     return 0;81 }

 

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宾阳县| 兴城市| 星座| 东海县| 谢通门县| 革吉县| 阿坝| 闸北区| 马龙县| 儋州市| 泗阳县| 辽源市| 丹阳市| 孟连| 区。| 蒙山县| 武定县| 台东市| 含山县| 焦作市| 康保县| 满洲里市| 乌兰察布市| 虎林市| 昌图县| 江源县| 宝兴县| 视频| 富锦市| 宜州市| 常州市| 宣汉县| 镇远县| 彩票| 新源县| 达拉特旗| 榕江县| 大厂| 静乐县| 南雄市| 锦州市|