C# new 和 override關鍵字區別

廢話不多說,上圖再總結

終結:

這都是啥,巴拉巴拉一大堆,其實就一個點要注意(其他的都是正常情況,對,你想的就是對的。實例化誰就調誰)

當以子類(B)去實例化類,轉化爲父類時(Base)。也就是說當前對象是子類,我強轉成父類了

調用帶new關鍵字的方法時,調用的是父類方法(base _ method2)

調用帶override關鍵字的方法時,調用的是子類方法(B_method1) 

所以捏:new只是隱藏類父類的方法,其實還是存在得,該調還是得調,

               override覆蓋了 父類方法,調的時候直接調覆蓋的方法(只針對於實例後轉爲父類的情況哦)

等同於這樣寫,(原寫法更裝逼,一看就是大神)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章