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

2022-01-14 17:11:30 字數 545 閱讀 4244

class

program

//希望person存的是哪個類的物件就呼叫哪個類的方法

//第一步 將父類中對應方法家virtual關鍵字 變為虛方法(子類可重寫)

//子類中方法用override關鍵字將父類虛方法重寫

person[i].say(); //

這句話就體現了多型

} }

}public

class

person

public

int age

public

virtual

void

say()

}public

class

american:person

}public

class

japan:person

}public

class

chinese : person

}

例項中,可以通過person中的不同型別的物件來實現不同的方法。

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

方法表 方法槽 在乙個類裡邊可能有一些成員和一些方法,乙個類裡有專門的位址,記錄方法表的位址,根據方法表找到方法當子類繼承了父類以後,會拿到父類的方法表,有乙個方法槽。當子類重寫父類的方法以後,子類重寫了乙份父類的方法。如果重寫了,會從槽裡找重寫後的方法,this點方法,指向重寫後的方法,base點...

虛方法實現多型

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

C 多型實現之虛方法

控制台應用程式中,新建乙個people類檔案,如下 using system using system.collections.generic using system.linq using system.text namespace 13多型 public string name 1.第一,將父類...