天天看點

第三章 面向對象程式設計基礎知識

3.1間接

1).含義:不在代碼中直接使用某個值,而是使用指向該值的指針。

2).基本變量就是間接的一種實際應用。而檔案是另一種間接的執行個體。

3).本質:告訴我們從哪裡獲得需要的資料

3.2 在面向對象的程式設計中使用間接

3.2.1 過程式程式設計

1).在過程式程式設計中資料通常儲存在簡單的結構中(例如C的struct元素),還有一些儲存在複雜的機構中,例如連結清單和樹

2).中心:函數是過程是程式設計的中心,你決定使用什麼樣的函數,然後調用那些函數,傳遞其需要的資料

3).Shapes-Procedural程式不是實際在螢幕上繪圖,而是隻輸出一些與形狀相關的文本。

注:面向對象的程式設計使得程式的擴充和維護變得很困難。

3.2.2 實作面向對象的程式設計

1).本質:面向對象程式設計是以程式為核心,函數為資料服務

2).id:代表identifier辨別符,是一種泛型,用于表示任何種類的對象。類似java中的object。

注:在objective-c中方括号是用來通知某個對象該做什麼,在objective-c中,通知對象執行某種操作稱之為發送消息(調用方法)。

3.3 學習相關的術語

1).類:是一種結構,它表示對象的類型。建議開發者使用首字母大寫類名

2).對象:是一種結構,包含值和指向其類的隐藏指針。

3).執行個體:“對象”的另一種稱呼

4).消息:是對象可以執行的操作,用于通知對象要做什麼。

5).方法:是為響應消息而運作的代碼

6).方法排程程式:是OC中的一種機制,用于推測執行什麼方法以響應某個特定的消息。

7).接口:是對象的類應該提供的特性的描述。

8).實作:是使得接口正常工作的代碼。

3.4 Objective-C中的OOP

3.4.1 @interface部分

1).在Objective-C中使用@interface指把這種資訊傳遞給編譯器。

2).自定義一個Circle.h接口聲明示例:

@interface Circle :NSObject{

…//定義執行個體變量

}

-(void)setColor : (ShapeColor) color;//方法聲明

@end//完成Circle類的聲明

注:“-”表明是Objective-C方法的聲明,圓括号中是方法的傳回類型,後面的是方法名字;方法中使用參數則需要冒号,否則不需要冒号。

3.4.2 @implementation部分

這是使得對象真正起作用的部分,也就是實作類的部分。

1).上面Circle類的實作:Circle.m

@implementationCircle

-(void) setColor:(ShapeColor)color{

·     //實作部分

}

….//其他方法

@end

注:@implementation 是一個編譯器指令,表明你将為某個類提供代碼。

3.4.3 執行個體化對象

我們在定義完一個類時需要用到該類,執行個體化對象的過程就是記憶體配置設定和初始化過程,這些完成後就建立了一個新的對象執行個體。

例如建立Circle類的一個對象:Circle circle = [Circle new];

小結:

什麼是面向對象的程式設計,以及面向對象程式設計的實作方式。

Objective-C中類的建立,以及方法的實作等。

建立一個信的對象,也就是對象如何執行個體化的方法,通過向類發送一個new消息來建立。