Shadows Keyword
Use shadows to define method hiding
explicitly. The child member temporarily hides the parent member and activates its own. This
is called shadowing. The purpose of shadows is to Protects against a
subsequent base-class modification that introduces a member you have already
defined in your derived class.If you do not specify either Shadows or Overrides,
the compiler issues a warning message to help you be sure which kind of
redefinition you want to use. If you ignore the warning, the shadowing mechanism
is used.
Module Module1
Class A
Public Sub Show()
Console.WriteLine("Calling from A")
End Sub
End Class
Class B
Inherits A
Public Shadows Sub Show()
Console.WriteLine("Calling from B")
End Sub
End Class
Class C
Inherits B
Public Shadows Sub Show()
Console.WriteLine("Calling from C")
End Sub
End Class
Class Test
Public Shared Sub Main()
Dim x As A
x = New A()
x.Show()
x = New B()
x.Show()
x = New C()
x.Show()
End Sub
End Class
End
Module
OUTPUT:


Join the conversation! Your thoughts help the community grow.