Dot-Net

VB.NET 中的“陰影”與“覆蓋”

  • January 20, 2009

ShadowsOverrides這兩個關鍵字的意義是什麼?他們做什麼以及在哪種情況下更可取?

我不認為Shadows 真的是一個OOP 概念。Overrides 表示您正在為祖先類中聲明的方法/屬性等提供新的或附加的功能。陰影確實欺騙編譯器認為父方法/屬性等甚至不存在。

我對影子沒有用處。堅持覆蓋。VB 多年來提供的這些有用的小“功能”總是在某些時候讓您感到悲傷。

Overrides是更正常的限定符。如果子類以這種方式重新定義基類函式,那麼無論如何引用子對象(使用基類或子類引用),呼叫的都是子函式。

另一方面,如果子類函式隱藏基類函式,則通過基類引用訪問的子對象將使用該基類函式,儘管它是子對象。

僅當使用匹配的子引用訪問子對象時才使用子函式定義。

引用自:https://stackoverflow.com/questions/463209