物件導向程式設計 8 在構造方法中呼叫重寫方法

2021-09-29 06:45:44 字數 841 閱讀 7487

建立兩個類,b是父類,d是子類,d中重寫func方法,並且在b的構造方法中呼叫func

//b父類

public

class

bpublic

void

func()

}//d子類

public

class

dextends

b@override

public

void

func()

}//測試test

public

class

test

}//執行結果:

構造b物件

d.func()

0構造d物件

此處發現 num的值是0,為啥

先分析 num的值是0,說明還沒有被初始化。

構造d物件的同時,會呼叫到b的構造方法。

b的構造方法中呼叫了func方法,因為d中也有乙個func方法,此時會觸發動態繫結,會調到d中的 func方法。

此時d物件自身還沒有構造,此時num處在未初始化的狀態,所以值是0;

建立乙個子類的例項,回就回同時建立出乙個父類的例項。父類的構造方法先被呼叫,然後才呼叫子類的構造方法。

構造方法盡可能簡單,盡量像慎重去呼叫其他方法,防止這個被呼叫的方法被子類覆寫,出現不可預期的情況。

多型是物件導向程式設計中比較難理解的部分,多型帶來的好處將會在抽象類和介面上體現出來。

多型其實是乙個更廣泛的概念,和繼承這樣的語法並沒有必然聯絡。

無論什麼語言,多型的核心就是呼叫者不必關注物件的具體型別,這是降低使用者使用成本的一種重要方式。

物件導向程式設計 五 構造方法

構造器,又稱構造方法 constructor 構造器用於構造該類的例項 物件 格式如下 構造方法是一種特殊的方法 通過new關鍵字呼叫!構造器雖然有返回值,但不能定義返回型別 返回值型別肯定是本類 不能在構造器裡呼叫return。如果我們沒有定義構造器,則系統會自動定義乙個無參的建構函式。如果已定義...

(8)物件導向程式設計

bin sh set x source dir pwd build dir mkdir p build dir cd build dir cmake source dir make 直接輸入.build.sh進行編譯cmake minimum required version 2.6 project...

物件導向 構造方法

又稱構造器,是乙個特殊的方法,它是方法名與類名相同且沒有返回值型別的方法。作用 用來給成員變數初始化定義語法 修飾詞 類名 有參傳參 無參構造器 如果在定義類時,沒有新增構造方法,系統會預設提供乙個公有的無參的構造方法 有參構造器 因為構造器是用來給成員變數初始化的,為了方便,所以形式引數的名稱都與...