oc中的oop基礎及類的基本介紹

2021-07-28 06:48:53 字數 1375 閱讀 3077

物件導向的(oop)的基礎知識

類(class):表示一組物件資料的結構體,物件通過類來得到自身。類名首字母大寫。

物件(objcet):是一種包含值和指向其類的隱藏指標的結構體。執行中的程式中通常會有n個物件,首字母不用大寫。

例項(instance):是對物件的另一種稱呼。

訊息(message):是物件執行的操作,用於通知物件去做什麼。物件接收到訊息後,將查詢相應的類,來執行正確的**執行程式。

方法(method):是為響應訊息而執行的**,這個以後在oop中會很常用。根據類的物件或訊息來呼叫不用的方法。

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

介面(inte***ce):以類為物件提供的特性描述。這種以後是常用,涉及多個方面(繼承,coco**的類描述等)

實現(implementation):有了類,有了介面,有了方法,就需要實現。

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

#import //繪圖類,用來分析oop中

@inte***ce huitu : nsobject

中,這裡是公有的,如果要寫私有的就不要寫在描述檔案中,直接寫在.m的檔案中

nsstring *_yanse;//coco**,表示指標型別

nsstring *_xingzhuang;

}//這裡寫方法

//得到顏色

-(void) getyanse:(nsstring*) yanse;

//得到形狀

-(void) getxingzhuang:(nsstring*) xingzhuang;

//繪製

-(void)huizhi;

@end

我們看到第一行的#import ,這裡是引入檔案,和c#中的命名空間是乙個樣子的,筆者專業是c#,這裡就和c#進行對比;

@inte***ce huitu : nsobject:介面,繼承哪個基類,這裡我們看到是nsobject,初學者就不要去手動更改。

這對花括號中的**,就是類的成員變數,這裡不能是私有的,如果要寫成私有的,直接在.m檔案中寫,這裡只能是公共和受保護的(未驗證)

方法要寫到{}花括號的外面;我們注意到,方法的開頭有個「-」和「+」,這兩個分別代表類兩種不同的意思,其中「-」代表方法宣告,呼叫時要例項化類才可以;而「+」代表類的方法,和c#中的靜態方法(static)一樣不需要例項化類,直接就可以呼叫;

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

今天就到這裡,明天繼續oc中的類例項化和c#中的還是有一定的區別,初接觸,有點矇圈。

Python中的類與OOP

python中一切皆是物件,變數 函式名 型別,顯然這使得物件導向程式設計變得更容易也更直觀。類 class 是物件導向程式設計的利器,儘管在python中,完全可以不使用類,使用簡單的結構如函式 function 即可以完成大量的工作,然而類無疑是python提供的最有力的程式設計 通過類的使用,...

OC學習筆記 OC中的類

1.objc跟c的區別與聯絡 首先 objc是乙個物件導向的語言 封裝 繼承 多型 objc相當於c的乙個超集 即objc允許使用任何c語言 但增加了許多c沒有的特點 bigger easier 2.objc中的類與物件 類由介面 xx.h inte ce 和實現 xx.m implementati...

OC 中類的繼承

繼承的思想 繼承 當多個類出現部分相同的例項變數和方法時,就考慮用繼承.繼承的使用 將多個類中相同的部分的例項變數的方法提出來,寫成乙個公共的父類.繼承 子類繼承父類會將裡面所有除了宣告為 private的例項變數,以及私有方法之外,其餘內容都會被繼承.所以如果子類中有和父類同樣的內容,可以全部刪除...