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...