Class Module VB.Net Tutorial

Option Strict On
Public Class BaseClass
   Public Sub MainMethod()
      Console.WriteLine("Calling Me.Method1...")
      Me.Method1()
      Console.WriteLine("Calling MyClass.Method1...")
      MyClass.Method1()
   End Sub
   Public Overridable Sub Method1()
      Console.WriteLine("BaseClass.Method1...")
   End Sub
End Class
Public Class DerivedClass : Inherits BaseClass
      Public Overrides Sub Method1()
         Console.WriteLine("DerivedClass.Method1...")
      End Sub
End Class
Public Module modMain
   Public Sub Main()
      Console.WriteLine("Invoking BaseClass.MainMethod")
      Dim bc As New BaseClass
      bc.MainMethod()
      Console.WriteLine()
      Console.WriteLine("Invoking DerivedClass.MainMethod")
      Dim dc As New DerivedClass
      dc.MainMethod()
   End Sub
End Module
Invoking BaseClass.MainMethod
Calling Me.Method1...
BaseClass.Method1...
Calling MyClass.Method1...
BaseClass.Method1...
Invoking DerivedClass.MainMethod
Calling Me.Method1...
DerivedClass.Method1...
Calling MyClass.Method1...
BaseClass.Method1...