Imports System.Console Namespace NS_MustInheritDemo Module Demo Public Sub Main() WriteLine("Overrides Demo") WriteLine() WriteLine("Base Class...") 'Causes Error because Base Class has 'MustInherit' 'Dim bc As BaseClass = New BaseClass 'bc.Other() 'bc.OverrideMethod() WriteLine() WriteLine("Derived Class...") Dim dc As DerivedClass = New DerivedClass dc.Other() dc.OverrideMethod() ReadLine() End Sub End Module Public MustInherit Class LikeAnInterface Public MustOverride Overloads Sub OverrideMethod() Public MustOverride Overloads Sub Paint() Public MustOverride Overloads Sub SetText(ByVal Text As String) End Class Public MustInherit Class BaseClass Public MustOverride Overloads Sub OverrideMethod() Public Sub Other() WriteLine("Base Other method") End Sub End Class Public Class DerivedClass ' if you use MustInherit then children will pay Inherits BaseClass ' Causes Error with missing 'Overrides' 'Public Sub OverrideMethod() ' WriteLine("Derived OverrideMethod") 'End Sub ' If Sub is not defined then the 'MustInherit' is violated Public Overrides Sub OverrideMethod() WriteLine("Derived OverrideMethod") End Sub End Class End Namespace