oc基礎第一天 類的方法,類與物件

2022-09-05 14:30:18 字數 2181 閱讀 2644

1. 如何為類定義行為.

剛剛我們聊的是如何為類定義特徵.

如何定義行為? 行為就事1個功能 也就事1個函式.

oc中把行為叫做方法. 實際上和函式是一樣的 代表1個功能模組.

2. 為類定義無引數的方法.

類的方法也分為兩個部分.   

a. 方法的宣告

1). 位置: 寫在宣告類的大括弧的外邊.

2). 宣告的語法:

- (返回值型別)方法名;

- (void)sayhi;

這個方法的名字就叫做sayhi;

b. 方法的實現.

1). 位置: 寫在類的實現之中.

2). 實現的語法:

- (返回值型別)方法名

方法體;

c.方法的呼叫.

定義在類中的方法是屬於類的. 而類是無法直接使用的.

所以,這個定義在類中的方法是無法直接呼叫的.

如果非要調的話.就得建立1個類的物件. 

那麼這個物件之中就擁有類模板中的所以的成員  例項變數、方法.

就可以通過物件來呼叫這個物件的方法.

呼叫語法:

[物件名 方法名];

[p1 sayhi];

3. 帶1個引數的方法的宣告和實現.

a. 方法的宣告

1). 位置:

2). 語法:

- (返回值型別)方法名:(引數型別)引數名稱;

- (void)eat:(nsstring *)foodname;

需要牢牢的記住一點:

這個方法的名字叫做 eat:

b. 方法的實現:

1). 位置.

2). 語法

將宣告拷貝過來 去掉分號 加對大括弧 將實現寫在其中就可以了.

- (返回值型別)方法名:(引數型別)引數名稱

c. 方法的呼叫

1). 要通過物件名來呼叫.

2). 呼叫語法

[物件名 方法名:實參];

4). 帶多個引數的方法

a. 宣告:

1).位置.

2).語法

- (返回值型別)方法名:(引數型別)引數名稱 :(引數型別)引數名稱 :(引數型別)引數名稱;

- (int)getsum:(int)num1 :(int)num2;

這個方法的名字叫做getsum: :

b. 實現:

1). 位置.

2). 語法

拷貝方法的宣告,去掉分號 加對大括弧 將實現寫在其中就可以了.

- (返回值型別)方法名:(引數型別)引數名稱 :(引數型別)引數名稱 :(引數型別)引數名稱

方法的實現.

c. 呼叫

1).必須要通過物件名來呼叫.

2).呼叫的語法

[物件名 方法名:實參 :實參 :實參];

3. 帶引數的方法名的規範.

1). 遵守的原則. 呼叫的時候看起來是一句連貫的話.

讓呼叫者知道這個引數的作用是什麼.

2). 規範:

如果方法只帶1個引數. 那麼方法名:

- (返回值型別) 方法名with:(引數型別)引數名稱;

如果有多個引數:

- (返回值型別) 方法名withxx:(引數型別)引數名稱 andxx:(引數型別)引數名稱;

1. 同1個類可以建立n多個物件.

物件與物件之間是沒有影響的.1個物件的熟悉的值是根本不會影響另外1個物件的屬性的值的.

同1個類的多個物件之間毫無關係.

唯一的關係 是他們都是根據同1個類模板建立出來 

他們具有相同的成員 屬性、方法.

屬性的值相互之間是不影響的.

2. 在方法的實現之中.可以直接訪問這個類的成員變數.

訪問的是那1個物件的成員變數呢?

這個方法是通過那1個物件來呼叫的.那麼這個方法中訪問的成員變數就事那個物件的.

誰來呼叫這個方法,這個方法中的成員變數就事誰的.

3. 當我們宣告1個物件.如果沒有為物件的字段賦值.

這個時候物件的字段是有預設值的.

如果欄位的型別是基本資料型別 那麼預設值是0.

如果欄位的型別是oc指標型別. 那麼預設值就是nil

如果欄位的型別是c指標型別 那麼預設值是null

如何宣告、實現類

如何建立物件

如何訪問物件的成員

方法的宣告和實現

如何呼叫方法.

OC學習 第一天 物件導向和類

1.物件導向和面向過程的簡單比較 2.類和物件是物件導向程式設計的核心.物件導向程式設計的三大特徵 封裝,繼承,多型 類 具有相同特徵和行為 功能 事物的抽象 物件 就是類的例項化 2.1什麼是類 2.2 什麼是物件 物件是類的例項。類是物件的型別。萬事萬物皆物件,例如 只貓,個餅乾,張 票,個 杯...

第一天 Mat類基礎

一 opencv常用資料結構 1 point類 point類資料結構表示二維座標系的點,由座標x,y指定的2d點,如 point pt pt.x 20 pt.y 10 其他型別 point point2d point2f point2i point3d point3f point3i 2 rect類...

OC第一天 物件導向

1.oc object c 物件導向的語言 2 oc 和 c的區別 1 oc是 c的超集 oc是在c語言的基礎上做了擴充套件,c語言中的所有語法,在oc中都可以使用,甚至你可以在工程裡加入c 語言 2 oc在c基礎上擴充套件了物件導向的特點 3 oc 是一門執行時語言 4 oc為我們提供了豐富的類庫...