多型和虛方法的呼叫

2021-08-01 06:34:48 字數 506 閱讀 1845

1.多型:

*多型:是指在乙個程式中相同的名字表示不同的含義。

編譯時的多型:

過載:多個同名的不同的方法.例如我們給定的引數個數不同執行不同的功能。

執行時的多型:

覆蓋:子類對父類方法的覆蓋。

動態繫結:虛方法呼叫。

在呼叫方法時,程式會正確呼叫子類方法的物件。

*多型的特點大大提高了程式的抽象程度和簡潔性。

2.上溯造型:

*上溯造型:是把派生型別當作基本型別處理。例如:person p = new student();//因為student是person的子類。

3.虛方法的呼叫:

*用虛方法呼叫,可以實現執行時的多型。

子類繼承了父類的方法時,執行時

執行時系統根據呼叫該方法的例項的型別來決定選擇那個方法呼叫。

所有的非final方法都會自動的進行動態繫結。

4.動態型別的確定:

變數 instanceof 型別 返回值為boolean型別

CLR怎樣實現虛方法的多型呼叫(2)

namespace demo public class base ifoo class program 在essential net中,don box向讀者簡單描述了基於介面的多型呼叫,在堆中有乙個全域性介面對映表,當某個類實現了乙個介面,就會在這個介面表中增加項,而增加的這些項又指向這個具體類的m...

虛方法實現多型

大家都知道物件導向的三大特徵,封裝 繼承 多型,這裡解釋一下多型 同一操作作用於不同的物件,可以有不同的解釋,產生不同的執行結果,這就是多型性。換句話說,實際上就是同乙個型別的例項呼叫 相同 的方法,產生的結果是不同的。這裡的 相同 打上雙引號是因為這裡的相同的方法僅僅是看上去相同的方法,實際上它們...

多型之虛方法

1.虛方法用到兩個關鍵字 virtual 和 override 當子類繼承與父類物件時,宣告乙個父類物件,通過在子類中重寫父類物件的方法,可以直接調到子類的方法 public class person set public person string name public virtual void...