多型,動態繫結

2021-09-12 06:05:19 字數 682 閱讀 2271

呼叫方法時,只要方法重寫了,實際當中調哪個,要看實際中new哪個物件。

[color=red]好處:可擴充套件性達到最好。[/color]當增加東西時,不需要改原來的結構,直接加上就可以了。

[color=red]多型的存在必要條件:1:要有繼承,2:要有重寫,3:父類引用指向子類物件。[/color]

package test;

class animal

public void enjoy()

}class cat extends animal//構造方法

public void enjoy()

}class dog extends animal

public void enjoy()

}class lady

public void mypetenjoy()

}public class test

}

[img]

[size=small]輸出結果:

貓叫聲狗叫聲[/size]

[color=red]why?[/color]

動態繫結是指「在執行期間(而非編譯期)判斷所引用物件的實際型別,根據其實際的型別呼叫其相應的方法「

上面例子中,根據lady物件的成員變數pet所引用的不同的實際型別而呼叫相應的enjoy方法。

動態繫結和多型

動態繫結是指 在執行期間 即非編譯期 判斷所引用物件的實際型別,根據其實際的型別呼叫其相應的方法。多型的存在有三個必要條件 1,要求繼承 2,要有重寫 3,父類引用指向子類物件 例 class animal public void enjoy class cat extends animal pub...

多型 動態繫結 實驗

定義三個類,父類geometricobject代表幾何形狀,子類circle代表圓形,myrectangle代表矩形。定義乙個測試類test,編寫equalsarea方法測試兩個物件的面積是否相等 注意方法的引數型別,利用動態繫結技術 編寫displaygeometricobject方法顯示物件的面...

C 動態繫結 多型

繫結 繫結就是將函式呼叫與位址關聯起來。普通的成員變數 成員函式 編譯完的時候,呼叫位址就確定好的。virtual函式的位址是不確定的,只是能確定虛表的位址,virtual函式有可能被重寫。只有virtual的函式是動態繫結。動態繫結還有乙個名字 多型。常用場景 析構函式定義為虛函式。否則定義父類指...