OC多型詳解

2021-08-27 21:55:47 字數 647 閱讀 7196

1、多型(多種形態)。實現多型的前提是實現繼承,沒有繼承就沒有多型。因為多型的體現形式就是父類指標指向子類物件。常用這種方式:父類名 *p=[子類名 new];

2、利用多型,指向子類物件的父類指標能直接呼叫子類中重寫父類的方法。當給指向子類物件的父類指標傳送訊息時,系統會啟動動態檢測來判斷物件的真實型別,進而呼叫這個真實型別的方法。

3、多型的好處:首先在乙個函式中有乙個父類指標型別的形參,這就意味著可以傳入父類以及所有子類的物件。當這個父類指標的形參在函式體內呼叫被所有子類重寫的方法時,傳入的是哪個父類物件就能呼叫哪個父類物件的方法,傳入哪個子類的物件就能呼叫哪個子類的方法。從而使用不變的**可以實現不同的操作,節省了**。

4、所有的oc方法都是預設為虛函式。

5、多型的限制:不能使用指向子類物件父類指標來呼叫子類擴充套件的方法(父類中沒有的方法),因為oc是弱語法,所以僅僅是警告,仍然能執行成功,但是不建議這麼做。

6、多型限制的解決方法:如果想用指向子類物件的父類指標來呼叫子類擴充套件的成員方法,可以用強制轉換型別的方法。這時可以把指向子類物件的父類指標強制轉換為相應的子類指標,這樣就可以直接呼叫子類擴充套件的方法了。格式如下:

animal *aa=[dog new]; dog *dd=(dog *)aa;

轉換語法:

型別轉換是做給編譯器看的。

OC 封裝,繼承,多型

就是將一段 裝成乙個整體,將內部的例項變數和方法設定訪問許可權 1.set 方法1.作用 提供乙個方法給外界設定成員變數值,可以在方法裡面對引數進行相應過濾 2.命名規範 1 方法名必須以 set開頭 2 set後面跟上成員變數的名稱,成員變數的首字母必須大寫 3 返回值一定是 void 4 一定要...

OC物件導向 多型

oc物件導向 多型 一 基本概念 多型在 中的體現,即為多種形態,必須要有繼承,沒有繼承就沒有多型。在使用多型是,會進行動態檢測,以呼叫真實的物件方法。多型在 中的體現即父類指標指向子類物件。animal類的宣告 animal類的實現 dog類繼承自 animal類 dog類的實現 測試程式 二 使...

OC物件導向 多型

oc物件導向 多型 一 基本概念 多型在 中的體現,即為多種形態,必須要有繼承,沒有繼承就沒有多型。在使用多型是,會進行動態檢測,以呼叫真實的物件方法。多型在 中的體現即父類指標指向子類物件。animal類的宣告 animal類的實現 dog類繼承自 animal類 dog類的實現 測試程式 二 使...