Shame this page was marked for deletion. The term BaseClass engenders interesting discussion. It's CeePlusPlus for "superclass" - the class on which another's implementation is "based". But subclassing/extending/deriving one class from another should be motivated by more than just basing a class's implementation on another's. Class hierarchies are of higher InternalQuality when they follow is-a-kind-of relationships.
In addition, CeePlusPlus people often use "base class" to mean "class not intended for direct instantiation". I could use "abstract" to convey that, but the JavaLanguageSpecification uses "abstract" to mean "incomplete". Should only classes with no subclasses be directly instantiated? There's lots of room for discussion here. How about we don't delete the page. -- RandyStafford
See also AbstractBaseClass