oc的oop介紹,以及類的基本介紹

面向對象的(OOP)的基礎知識

  1. 類(class):表示一組對象數據的結構體,對象通類來得到自身。類名首字母大寫。

  2. 對象(objcet):是一種包含值和指向其類的隱藏指針的結構體。運行中的程序中通常會有n個對象,首字母不用大寫。

  3. 實例(instance):是對對象的另一種稱呼。

  4. 消息(message):是對象執行的操作,用於通知對象去做什麼。對象接收到消息後,將查詢相應的類,來執行正確的代碼運行程序。

  5. 方法(method):j是爲響應消息而運行的代碼,這個以後在oop中會很常用。根據類的對象或消息來調用不用的方法。

  6. 方法調度(method dispatcher):是oc中的一種機制,用於推測執行什麼方法以響應某個特寫的消息。

  7. 接口(interface):以類爲對象提供的特性描述。這種以後是常用,涉及多個方面(繼承,coco代碼的類描述等)

  8. 實現(implementation):有了類,有了接口,有了方法,就需要實現。

說了那麼多,我們來看一下oc中的oop:通下下面一個類來分析一下:

#import <Foundation/Foundation.h>
//繪圖類,用來分析oop中
@interface HuiTu : NSObject
{
    //參數或變量要寫在{}中,這裏是公有的,如果要寫私有的就不要寫在描述文件中,直接寫在.m的文件中
    
NSString *_yanse;//coco代碼,表示指針類型
NSString *_xingzhuang;
}
//這裏寫方法
//得到顏色
-(void) GetYanse:(NSString*) yanse;
//得到形狀
-(void) GetXingZhuang:(NSString*) xingzhuang;
//繪製
-(void)HuiZhi;
@end
  1. 我們看到第一行的#import <Foundation/Foundation.h>,這裏是引入文件,和C#中的命名空間是一個樣子的,筆者專業是C#,這裏就和C#進行對比;

  2. @interface HuiTu : NSObject:接口,繼承哪個基類,這裏我們看到是nsobject,初學者就不要去手動更改。

  3. {....}這對花括號中的代碼,就是類的成員變量,這裏不能是私有的,如果要寫成私有的,直接在.m文件中寫,這裏只能是公共和受保護的(未驗證)

  4. 方法要寫到{}花括號的外面;我們注意到,方法的開頭有個-和+,這兩個分別代表類兩種不同的意思,其中“-”代碼方法聲明,調用時要實例化類纔可以;而“+”代表類的方法,和c#中的靜態方法(static)一樣不需要實例化類,直接就可以調用;

  5. (void)這裏代表希望這個方法返回的值,這裏是不返回值,如果要返回值就可以寫(NSString/int)等根據自己的需要來寫上。

  6. 今天就到這裏,明天繼續.oc中的類實例化和c#中的還是有一定的區別,初接觸,有點蒙圈。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章