OC方法和文件編譯

OC方法和文件編譯編程

1、OC方法函數

(一)對象方法spa

(1)對象方法以-開頭如 -voidxx;命令行

(2)對象方法只能又對象來調用設計

(3)對象方法中能夠訪問當前對象的成員變量3d

(4)調用格式   [對象名  對象方法名]調試

(5)設計一個學生類和狗類,練習對象方法的使用。code

學生類的聲明:對象

 

學生類的實現:blog

 

狗類的聲明:

 

狗類的實現:

 

主程序:

 

 

(二)類方法

(1)類方法以+開頭  如+voidput;

(2)類方法只能由類來調用

(3)類方法中不能訪問實例(成員)變量,由於類方法又類來調用,並無建立存儲空間來存儲類中的成員變量。

(4)調用格式:[類名  類方法名]

(5)類方法的好處和適用場合:

不依賴於對象,執行效率更高;

能用類方法解決的問題,儘可能使用類方法;

場合:當方法內部不須要使用到成員變量時,能夠改成類方法。

(6)設計一個計算器類,練習使用類方法。

計算器類的聲明:

 

計算器類的實現:

 

主程序:直接使用類名調用類方法

 

注意1能夠容許類方法和對象方法同名。

注意2在對象方法中能夠調用類方法。

(三)方法名

(1)不帶參數的方法

聲明:

 

調用:

 

(2)帶參數的方法

聲明:

調用:

 

 

 注意:冒號也是方法名的一部分。

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中一般把類拆分開來,拆分紅聲明和實現兩個部分。

提示:這也是編程思想的一種體現,能夠說.h.m文件時徹底獨立的,只是爲了要求有較好的可讀性,纔要求兩個文件的文件名一致,這也是把接口和實現分離,讓調用者沒必要去關心具體的實現細節。

Xcode是寫一行編譯一行,有簡單的修復功能,紅色是錯誤提示,黃色警告。若是在程序中聲明瞭一個變量,可是這個變量沒有被使用也會產生警告信息。在調試程序的時候,若是發現整個頁面都沒有報錯,可是一運行就錯誤,那麼必定是連接報錯。

相關文章
相關標籤/搜索