As mdearing06 suggested, you should use virtual methods (or just overridable methods) and override them.
Using Shadowing to change the functionality of your own code is somewhat of a bad practice. Shadowing is meant to be used in uncommon scenarios, i.e.: when you inherit from a class that was written by someone else and you must change some of its functionality, but can't view/edit the code itself.
Consider the fact that Shadowing is much like Overloading (only that it hides the base implementations), and quite different than Overriding.
The shadowing method will only be called if you explicitly refer to the object by its class; otherwise, the original method will be called (unlike Overriding, where the method is called based on the content - not on the representation - of the referenced object).
Here is an example of how representation affects a shadowed method's invokation:
Class BaseClass
Public Sub MyMethod()
Trace.WriteLine("The original method")
End Sub
End Class
Class ShadowClass
Inherits BaseClass
Shadows Sub MyMethod()
Trace.WriteLine("The shadowing method")
End Sub
End Class
Class Tester
Public Shared Sub TestClasses()
Dim myObj As Object = New ShadowClass
Dim var0 As BaseClass = myObj
var0.MyMethod()
Dim var1 As ShadowClass = myObj
var1.MyMethod()
End Sub
End Class
After running Tester.TestClasses, the trace will show: "The original method", followed by "The shadowing method".
Now, if we use the following code instead:
Class BaseClass
Public Overridable Sub MyMethod()
Trace.WriteLine("The original method")
End Sub
End Class
Class OverridingClass
Inherits BaseClass
Overrides Sub MyMethod()
Trace.WriteLine("The overriding method")
End Sub
End Class
Class Tester
Public Shared Sub TestClasses()
Dim myObj As Object = New OverridingClass
Dim var0 As BaseClass = myObj
var0.MyMethod()
Dim var1 As OverridingClass = myObj
var1.MyMethod()
End Sub
End Class
The Trace output will display "The overriding method", followed by "The overriding method".
To sum, I'd say that overriding is the "normal" way, and shadowing is an anomaly.