通過虛方法實現方法重寫 多型

2022-07-17 19:54:12 字數 492 閱讀 9960

方法表:

方法槽:

在乙個類裡邊可能有一些成員和一些方法,乙個類裡有專門的位址,記錄方法表的位址,根據方法表找到方法

當子類繼承了父類以後,會拿到父類的方法表,有乙個方法槽。

當子類重寫父類的方法以後,子類重寫了乙份父類的方法。如果重寫了,會從槽裡找重寫後的方法,this點方法,指向重寫後的方法,base點方法,呼叫的是父類的方法。

雖然是子類如果沒有重寫,依然還是呼叫父類的方法。

public

class

person

public

string name

public

virtual

void

sayhi()

}public

class

chinese : person

}public

class

america : person

}

C 通過虛方法實現方法重寫 多型。

class program 希望person存的是哪個類的物件就呼叫哪個類的方法 第一步 將父類中對應方法家virtual關鍵字 變為虛方法 子類可重寫 子類中方法用override關鍵字將父類虛方法重寫 person i say 這句話就體現了多型 public class person publ...

虛方法實現多型

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

虛方法重寫

1.例項解析 控制台程式 class program public class badlyconstructedtype this will be overridden in the derived type.public virtual void dosomething public class ...