Software reuse reduces the amount of software that needs
to be produced from scratch and hence less testing time for
new software. Inheritance allows a subclass to "legally" use
everything in its superclass. Inheritance is viewed as an
addition, i.e., adding a method to an object in a class that
differs from the methods in the super class. Inheritance,
which is either multilevel or multiple, facilitates and
encourages reusability. With multilevel inheritance, a class is
derived from another derived class. With multiple
Inheritance, a class is permitted to have more than one
superclass. Multiple Inheritance increases the possibility of
code sharing and increases the possibility of conflicts. With
hierarichal inheritance the traits of one class may be
inherited by more than one class.