nBy defining a class that is based on another class,
using inheritance, one class
is a specialization of another.
nSuch a class is said to
be a derived class.
nThe class it is derived from is a base class.
nThe derived class inherits the base class' members.
nThe benefit of this type
of relationship is that it allows reuse
of existing code from the base class and allows us to focus on the new or specialized behavior in the derived class.
nAn existing program
should not be aware that a new derived
class has been created if the specialized relationship is properly defined and encapsulated.