物件方法以-開頭如 -(void)xx;
物件方法只能又物件來呼叫
物件方法中可以訪問當前物件的成員變數
呼叫格式 [物件名 物件方法名];
設計乙個學生類和狗類,練習物件方法的使用。
學生類的宣告:
學生類的實現:
狗類的宣告:
狗類的實現:
主程式:
類方法以+開頭 如+(void)put;
類方法只能由類來呼叫
類方法中不能訪問例項(成員)變數,因為類方法又類來呼叫,並沒有建立儲存空間來儲存類中的成員變數。
呼叫格式:[類名 類方法名];
類方法的好處和適用場合:
設計乙個計算器類,練習使用類方法。
計算器類的宣告:
計算器類的實現:
主程式:直接使用類名呼叫類方法
注意1:可以允許類方法和物件方法同名。(1)不帶引數的方法注意2:在物件方法中可以呼叫類方法。
宣告:
呼叫:
(2)帶引數的方法
宣告:
呼叫:
注意:冒號也是方法名的一部分。在工作中,通常把不同的類放到不同的檔案中,每個類的宣告和實現分開,宣告寫在.h標頭檔案中,實現寫在相應的.m檔案中去,類名是什麼,檔名的字首就是什麼。
假設有兩個類,分別是person類和dog類,則通常有下面五個檔案:
person.h person類的宣告檔案
person.m person類的實現檔案
dog.h dog類的宣告檔案
dog.m dog類的實現檔案
main.m 主函式(程式入口)
在主函式以及類的實現檔案中要使用#import包含相應的標頭檔案。
補充:import有兩個作用:在使用命令列進行編譯鏈結檔案的時候,通常是把.m檔案單檔案編譯,然後再把所有的目標檔案鏈結,但是在xcode中,是把所有的.m檔案都進行編譯鏈結的,如果出現重複定義的錯誤,那大部分問題根源應該就是檔案內容被重複包含或者是包含.m檔案所引起的。一是和include一樣,完完全全的拷貝檔案的內容;
二是可以自動防止檔案內容的重複拷貝(即使檔案被多次包含,也只拷貝乙份)。
原始檔中不論是使用include還是import,都不能包含.m或者是.c檔案,只能放宣告。因此,在oc中通常把類拆分開來,拆分成宣告和實現兩個部分。
xcode是寫一行編譯一行,有簡單的修復功能,紅色是錯誤提示,黃色警告。如果在程式中宣告了乙個變數,但是這個變數沒有被使用也會產生警告資訊。
在除錯程式的時候,如果發現整個頁面都沒有報錯,但是一執行就錯誤,那麼一定是鏈結報錯。
OC方法和檔案編譯
一 oc方法 一 物件方法 1 物件方法以 開頭如 void xx 2 物件方法只能又物件來呼叫 3 物件方法中可以訪問當前物件的成員變數 4 呼叫格式 物件名 物件方法名 5 設計乙個學生類和狗類,練習物件方法的使用。學生類的宣告 二 類方法 1 類方法以 開頭 如 void put 2 類方法只...
OC方法和檔案編譯
一 oc方法 一 物件方法 1 物件方法以 開頭如 void xx 2 物件方法只能又物件來呼叫 3 物件方法中可以訪問當前物件的成員變數 4 呼叫格式 物件名 物件方法名 5 設計乙個學生類和狗類,練習物件方法的使用。學生類的宣告 學生類的實現 狗類的宣告 狗類的實現 主程式 二 類方法 1 類方...
OC方法和檔案編譯
oc方法和檔案編譯 一 oc方法 一 物件方法 1 物件方法以 開頭如 void xx 2 物件方法只能又物件來呼叫 3 物件方法中可以訪問當前物件的成員變數 4 呼叫格式 物件名 物件方法名 5 設計乙個學生類和狗類,練習物件方法的使用。學生類的宣告 學生類的實現 狗類的宣告 狗類的實現 主程式 ...