一、OC方法
(一)對象方法
(1)對象方法以-開頭如 -(void)xx;
(2)對象方法只能又對象來調用
(3)對象方法中可以訪問當前對象的成員變量
(4)調用格式 [對象名 對象方法名];
(5)設計一個學生類和狗類,練習對象方法的使用。
學生類的聲明:
學生類的實現:
狗類的聲明:
狗類的實現:
主程序:
(二)類方法
(1)類方法以+開頭 如+(void)put;
(2)類方法只能由類來調用
(3)類方法中不能訪問實例(成員)變量,因爲類方法又類來調用,並沒有創建存儲空間來存儲類中的成員變量。
(4)調用格式:[類名 類方法名];
(5)類方法的好處和適用場合:
不依賴於對象,執行效率更高;
能用類方法解決的問題,儘量使用類方法;
場合:當方法內部不需要使用到成員變量時,可以改爲類方法。
(6)設計一個計算器類,練習使用類方法。
計算器類的聲明:
計算器類的實現:
主程序:直接使用類名調用類方法
注意1:可以允許類方法和對象方法同名。
注意2:在對象方法中可以調用類方法。
(三)方法名
(1)不帶參數的方法
聲明:
調用:
(2)帶參數的方法
聲明:
調用:
注意:冒號也是方法名的一部分。
二、文件編譯
在工作中,通常把不同的類放到不同的文件中,每個類的聲明和實現分開,聲明寫在.h頭文件中,實現寫在相應的.m文件中去,類名是什麼,文件名的前綴就是什麼。
假設有兩個類,分別是Person類和Dog類,則通常有下面五個文件:
(1)Person.h Person類的聲明文件
(2)Person.m Person類的實現文件
(3)Dog.h Dog類的聲明文件
(4)Dog.m Dog類的實現文件
(5)Main.m 主函數(程序入口)
在主函數以及類的實現文件中要使用#import包含相應的頭文件。
補充:import有兩個作用: