A MustInherit class is an incomplete class where the implementation of some of the methods and/or properties of the class is not provided and instead must be provided by inheriting classes. A MustInherit class cannot be instantiated so it is an error to use the New
operator on such a class. While it is possible to have variables and values whose compile time types are a MustInherit class, such variables and values will necessarily either be Nothing
or contain references to instances of classes which inherit from the MustInherit class.
When a class derives from a MustInherit class, the deriving class must either also be a MustInherit class or it must override and provide implementations for all of the base class's MustOverride methods.