類
什麼是類
- 類是一組具有相同特徵的和行爲的事物的抽象的集合.
- 也就是我們通常所說的”類型”.
- 類是抽象的,並不具體指某一個人,而是泛指某一堆人
什麼是對象
- 對象就是類的實例.
- 世間萬物全是對象,生活中,一隻鳥、一頭豬、一個訂單、一張火車票等都是對象。
Objective-C
Objective-C 是一種能夠完成複雜面向對象編程的簡單地計算機設計語言.
通過提供用於定義類和方法的語法,它擴展了標準的 ANSIC 程序設計語言.它還提供了類和接口(任何類可採用的)的動態擴展.
特點
- 定義新的類
- 類的實例和方法
- 方法調用(成爲發消息)
- 屬性聲明(以及通過他們自動合成存取方法)
- 靜態和動態類型化
- 塊( block), 已封裝的、可在任何時候執行多段代碼
- 基本語言的擴展,例如協議和類別
如何定義 OC 中的一個類
- Objective-C中某個類的規格需要兩個不同的部分: 接口和實現。
擴展名 | 源文件 |
---|---|
.h | 頭文件.頭文件包含類、類型、函數和常量聲明 |
.m | .m 實現文件.具有此擴展名的文件可以同時包含 Objective-C 代碼和 C 代碼.有時也稱爲源文件. |
.mm | .mm 實現文件.具有此擴展名的實現文件,除了包含 Objective-C 代碼和 C 代碼以外,還可以包含 C++代碼.僅當您實際引用您的 Objective-C 代碼中的 C++類或功能時,才使用此擴展名. |
類的聲明實例
下列框圖的語法聲明名爲MyClass的類,它是從基礎類(或根類)NSObjiect繼承而來的.(根類是供其他類直接或間接集成的類.) 類聲明以編譯器指令@ interface 開始,以@ end 指令結束. 類名稱後面(以冒號分隔),是父類的名稱.
@interface MyClass : NSObject
{
int count;
id data:
NSString* name;
}
- (id)initWithString : (NSString*)aName;
+ (MyClass*)createMyClassWithString : (NSString*)aName;
@end