02 Object C 物件導向

2021-09-29 08:33:32 字數 3711 閱讀 5651

##1. 物件導向基本術語

##2. 類和物件

@inte***ce car : nsobject

- (void)run;// 方法,跑

@end

1.成員變數-@inte***ce的大括號{}中宣告的變數:wheels、speed -@inte***ce的大括號和函式的大括號是不一樣的 - 缺省會初始化為0

2.@public@public可以讓car物件的wheels和speed屬性被外界訪問

3.nsobject加上:nsobject的目的是讓car類具備建立物件的能力

###2.2、類的實現

// 類的實現

@implementation car

- (void) run

@end

@implementation car : nsobject

- (void) run

@end

###2.3、建立物件

car *c = [car new]; // [car new]每次都會建立出新的物件,並且返回物件的位址,那麼就應該用乙個指標變數儲存物件的位址!

c->wheels = 3;// 賦值屬性

c->speed = 300;

[c run];// 呼叫方法

###2.4、常見錯誤###2.5、語法細節

###2.6、物件導向封裝的好處

###2.7、oc方法和函式的區別

###2.8、oc的方法注意

##3. 方法###3.1、不帶引數的方法

// 方法宣告

- (double)pi;

// 方法實現

- (double)pi

###3.2、帶乙個引數的方法

// 方法宣告

- (double)square:(double)number;

// 方法實現

- (double)square:(double)number

3.3、帶多個引數的方法

// 方法宣告

- (double)sumofnum1:(double)num1 andnum2:(double)num2;

// 方法實現

- (double)sumofnum1:(double)num1 andnum2:(double)num2

###3.4、方法名注意

##4. 匿名物件

[car  new]->speed = 200;
[[car  new]  run];
##5. set方法和get方法###5.1、set方法和get方法的使用場合@public的成員可以被隨意賦值,應該使用set方法和get方法來管理成員的訪問(類似機場的安檢、水龍頭過濾,過濾掉不合理的東西),比如殭屍的生命值不能為負數

###5.2、set方法

作用:用來設定成員變數,可以在方法裡面過濾掉一些不合理的值

命名規範: 方法都是以set開頭,而且後面跟上成員變數名,成員變數名的首字母必須大寫形參名稱不要跟成員變數同名

###5.3、get方法

作用:返回物件內部的成員變數

命名規範:get方法的名稱一般就跟成員變數同名

###5.4、成員變數的命名規範

###5.5、**示例

#import // 宣告

@inte***ce car : nsobject

/*set方法*/

- (void) setwheels:(int)wheels;

/*get方法*/

- (int) wheels;

@end

@implementation car

// set方法的實現

- (void) setwheels:(int)wheels

_wheels = wheels;

}// get方法的實現

- (int) wheels

@end

###5.6、封裝的好處##6. 類方法###6.1、基本概念

直接可以用類名來執行的方法(類本身會在記憶體中佔據儲存空間,裡面有類\物件方法列表)

###6.2類方法和物件方法對比物件方法

類方法

類方法和物件方法可以同名

##7. self關鍵字###7.1、成員變數和區域性變數同名

###7.2、使用細節

出現的地方:所有的oc方法中(物件方法\類方法),不能出現在函式

作用 使用 "self->成員變數名" 訪問當前方法呼叫的成員變數 使用 "[self 方法名];" 來呼叫方法(物件方法\類方法)

###7.3、常見錯誤

##8. 物件與函式引數

##9. 繼承###9.1、繼承的基本用法

###9.2、繼承的專業術語

###9.3、繼承的細節

###9.4、super關鍵字

###9.5、繼承的好處

###9.6、繼承的使用場合

##10. 多型###10.1、多型的基本概念

###10.2、多型的體現

person *p = [student new];

p->age = 100;

[p walk];

###10.3、多型的好處###10.4、多型的侷限性

###10.5、多型的細節

Object c物件導向(上)

1.面向過程和物件導向 面向過程 一步一步的進行,第一步做什麼,第二部執行什麼。物件導向 2.類和物件 類 是某一批物件的抽象 物件才是乙個具體存在的例項 定義類 inte ce myclass nsobject 實現類 implementation myclass 定義變數 person pers...

物件導向 02

私有屬性 私有方法 偽私有屬性和方法 私有屬性 物件不希望公開的屬性,語法是在屬性前面加上 屬性名 私有方法 物件不希望公開的方法,語法是在方法前面加上 方法名 偽私有屬性和方法是指在python中並沒有真正意義上的私有,而是把屬性或者方法名前面加上了 類名,可以通過 類名 屬性名的形式訪問,但是不...

物件導向02

物件導向程式設計 oop 是一種程式設計方式,這種程式設計方式需要使用 物件 來實現 物件的特徵 1 世間萬物皆物件 2 每個物件都是唯一的 3 物件具有屬性和行為,物件的行為包括具有的功能和具體的實現。行為 方法 是類中特殊的函式 4 物件具有狀態,狀態是指某個瞬間物件的各個屬性的取值,物件的某些...