OC方法和檔案編譯

2022-03-28 04:38:03 字數 2283 閱讀 7336

一、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 類方法只能由類來呼叫 類方法中...