黑馬程式設計師 OC 類和物件

2021-06-22 06:40:57 字數 2692 閱讀 8307

一.物件導向和面向過程的思想(對比)

oc是物件導向的,c是面向過程的。物件導向和面向過程只是解決問題的兩種不同思想

1)      以用電腦聽歌為例子

a)       面向過程

ø   開啟電腦

ø   關閉電腦

b)       物件導向(不是相親的「物件」)

ø   電腦  

開機  

關機 區別分析

面向過程關注的是解決問題需要哪些步驟;物件導向關注的是解決問題需要哪些物件

二.類和物件關係

物件導向中有2個非常重要的概念:類和物件

1)   物件導向解決問題的時候必須有物件,那如何建立物件呢?

2)   現實生活的例子:如何創造汽車物件?

a)       需要先有汽車的建造圖紙,圖紙上描述清楚汽車應該具備的屬性和功能(行為)

ø   屬性:輪子數、時速

ø   功能(行為):跑

b)       然後再根據圖紙上的描述生成汽車

c)       每一輛汽車都是物件,都有自己具體的屬性值,都是圖紙的例項

d)      圖紙是抽象的,房子是具體的。圖紙是對房子物件的高度概括

2.    oc中的面相物件

1)   oc中的類相當於圖紙,用來描述一類事物。也就是說,要想建立物件,必須先有類

2)   oc利用類來建立物件,物件是類的具體存在

因此,物件導向解決問題應該是先考慮需要設計哪些類,再利用類建立多少個物件

三.宣告和定義類及方法的呼叫

類名:car

屬性:輪胎個數、時速(速度)

行為:跑

// 因為使用了nsobject

#import

// 完整地寫乙個函式:函式的宣告和定義(實現)

// 完整地寫乙個類:類的宣告和實現

// 1.類的宣告

// 宣告物件的屬性、行為

// : nsobject 目的是:讓car這個類具備建立物件的能力

@inte***ce car : nsobject

// 方法(行為):方法名、引數、返回值(宣告、實現)

// 只要是oc物件的方法,必須以減號-開頭

// oc方法中任何資料型別都必須用小括號()擴住

// oc方法中的小括號():括住資料型別

- (void)run;

@end

// 2.類的實現

// 用來實現@inteface中宣告的方法

@implementationcar

// 方法的實現(說清楚方法裡面有什麼**)

- (void)run

@end

int main()

*.注意錯誤方法

1.物件方法都是以減號- 

2.物件方法的宣告必須寫在@inte***ce和@end之間

物件方法的實現必須寫在@implementation和@end之間

3.物件方法只能由物件來呼叫

4.物件方法歸類\物件所有

函式1.函式能寫在檔案中的任意位置(@inte***ce和@end之間除外),函式歸檔案所有

2.函式呼叫不依賴於物件

3.函式內部不能直接通過成員變數名訪問某個物件的成員變數

@inte***ce car : nsobject

- (void)run;

- (void)fly;

@end

四.方法及實現

#import

計算器類

方法:1> 返回 π 

2> 計算某個整數的平方

3> 計算兩個整數的和

@inte***ce jisuanqi : nsobject

// 方法名:pi

- (double)pi;

// oc方法中,乙個引數對應乙個冒號

// 方法名:pingfang:(冒號也是方法名的一部分)

- (int)pingfang:(int)num;

//- (int)sum:(int)num1 :(int)num2;

// 方法名:sumwithnum1:andnum2:

- (int)sumwithnum1:(int)num1 andnum2:(int)num2;

//- (int)sumwithnum1:(int)num1 andnum2:(int)num2 andnum3:(int)num3;

@end

@implementationjisuanqi

- (double)pi

- (int)pingfang:(int)num

//- (int)sum:(int)num1 :(int)num2

- (int)sumwithnum1:(int)num1 andnum2:(int)num2

@end

int main()

五.匿名物件

@inte***ce car : nsobject

- (void)run;

@end

@implementationcar

- (void)run

@end

int main()

黑馬程式設計師 OC 類和物件

類名 car 屬性 輪胎個數 時速 行為 跑 因為使用了nsobject import 完整地寫乙個函式 函式的宣告和實現 完整的寫乙個類 類的宣告和實現 類的宣告 宣告物件的屬性 行為 nsobject 的目的是 讓car這個類具備建立物件的能力 inte ce car nsobject 用來宣告...

黑馬程式設計師 OC之類和物件

類 類是抽象的 物件 物件是具體 ios培訓 android培訓 期待與您交流!1 設計乙個類的步驟 1 類名,2 屬性,3 行為 功能 1 擁有相同屬性和行為的類都可以抽象出乙個類 2 設計乙個植物大戰殭屍中的殭屍 1 類名 zoombie 2 屬性 life speed gongjili 3 行...

黑馬程式設計師 OC 物件導向

物件導向和面向過程的區別 面向過程關心的是解決問題需要哪些步驟。物件導向關注的是解決問題需要哪些物件。oc中的面相物件 世界萬物皆物件。物件導向更加復合人民的思考習慣,將複雜的事情簡單化處理,使人民從執行者變成了指揮者 oc中的類相當於圖紙,用來描述一類事物。也就是說,要想建立物件,必須先有類 oc...