abstract base class, Derivation from an Abstract Base Class