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為我們提供了豐富的類庫...