一、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有兩個作用:一是和include一樣,完完全全的拷貝檔案的內容;二是可以自動防止檔案內容的重複拷貝(即使檔案被多次包含,也只拷貝乙份)。
在使用命令列進行編譯鏈結檔案的時候,通常是把.m檔案單檔案編譯,然後再把所有的目標檔案鏈結,但是在xcode中,是把所有的.m檔案都進行編譯鏈結的,如果出現重複定義的錯誤,那大部分問題根源應該就是檔案內容被重複包含或者是包含.m檔案所引起的。
原始檔中不論是使用include還是import,都不能包含.m或者是.c檔案,只能放宣告。因此,在oc中通常把類拆分開來,拆分成宣告和實現兩個部分。
xcode是寫一行編譯一行,有簡單的修復功能,紅色是錯誤提示,黃色警告。如果在程式中宣告了乙個變數,但是這個變數沒有被使用也會產生警告資訊。在除錯程式的時候,如果發現整個頁面都沒有報錯,但是一執行就錯誤,那麼一定是鏈結報錯。
OC方法和檔案編譯
一 oc方法 一 物件方法 1 物件方法以 開頭如 void xx 2 物件方法只能又物件來呼叫 3 物件方法中可以訪問當前物件的成員變數 4 呼叫格式 物件名 物件方法名 5 設計乙個學生類和狗類,練習物件方法的使用。學生類的宣告 二 類方法 1 類方法以 開頭 如 void put 2 類方法只...
OC方法和檔案編譯
oc方法和檔案編譯 一 oc方法 一 物件方法 1 物件方法以 開頭如 void xx 2 物件方法只能又物件來呼叫 3 物件方法中可以訪問當前物件的成員變數 4 呼叫格式 物件名 物件方法名 5 設計乙個學生類和狗類,練習物件方法的使用。學生類的宣告 學生類的實現 狗類的宣告 狗類的實現 主程式 ...
OC語言3 方法和檔案編譯
物件方法以 開頭如 void xx 物件方法只能又物件來呼叫 物件方法中可以訪問當前物件的成員變數 呼叫格式 物件名 物件方法名 設計乙個學生類和狗類,練習物件方法的使用。學生類的宣告 學生類的實現 狗類的宣告 狗類的實現 主程式 類方法以 開頭 如 void put 類方法只能由類來呼叫 類方法中...