The concept of inheritance provides the idea of reusability. This means that we can add additional features to an existing class without modifying it. Polymorphism means that if the same message is sent to different objects, the object’* behavior depends on the nature of the object it self This means that a general class of operations may be accessed in the same manner even though specific action associated with each operation may differ.