Inheritance Hierarchies
Base classes are typically used to establish the common
attributes and behavior for an application and to all
classes derived from it. .
A derived class may then be used to refine and add to the
base class and represent specialized versions, with new or
altered data/operations.
The relationship between a derived class and its base
class is often called an "is a" relationship. This is
because a derived class "is a" base class.
A derived class is everything the base class is and more,
because it has been extended or specialized. A derived
class object can be used when a base class object is
needed.