Objective-C語言是iOS開發的專用語言,雖然現在在逐步被swift語言取代,但是仍可以作為基礎學習,學會Objective-C之後入手swift也是相當快速。今天我來簡談一下關於OC中的類。 如果有過C++,Java基礎的同學就會對類有了初步的瞭解。類,是一個抽象的概念,將一個事物抽象後概 ...
Objective-C語言是iOS開發的專用語言,雖然現在在逐步被swift語言取代,但是仍可以作為基礎學習,學會Objective-C之後入手swift也是相當快速。今天我來簡談一下關於OC中的類。
如果有過C++,Java基礎的同學就會對類有了初步的瞭解。類,是一個抽象的概念,將一個事物抽象後概念的集合放在一起就組成了類,比如說鳥類,鳥類是一個很大種群,各種鳥兒都有,但是這些鳥有沒有共同特征呢?肯定是有的,我們把這些共同特征抽象出來就組成一個類,如下圖
在上圖中,綠色文本中的詞語是鳥類的一些屬性,就是鳥類的特征,紅色文本框中是鳥類都有的行為,是動作。我們在定義一個類的時候,要知道需要定義的屬性和要定義的行為,在類中是方法,來做出這些行為。我們來看具體寫法
一個類文件,包含.m文件和.h文件(具體見下圖)。為了提高可讀性,類名與創建類時的文件名要相同,OC中所有的類都直接或間接的繼承與NSObject類。聲明類以@interface開頭,以@end結尾,類的實現以@implementation開頭,以@end結尾。類名第一個字母習慣大寫。在定義方法時候,有“-”方法和“+”方法,“-”方法是對象方法,實例方法,只能用對象調用的方法,只有對象存在時才可以調用,同時要有記憶體空間才可以操作。“+”方法是類方法,只有類才能調用,不需要實例化。類方法不分配記憶體空間,類方法中不可以調用實例方法,因為沒有記憶體空間。
我們來看一段具體代碼
這是.h文件,裡面放聲明類的代碼和變數的定義以及方法的定義。
這是.m文件,裡面放實現的代碼
下麵是主函數
在主函數中使用類時需要導入類的頭文件。在各圖中,代碼都有詳細註釋,易於同學們理解和學習。
我們今天的分享就到這裡了,大家有疑問歡迎留言。一起討論學習。