Object-Orientation FAQ Please visit the new site and make a bookmark to it. This location will go away soon. Inheritance provides a natural classification for kinds of objects and allows for the commonality of objects to be explicitly taken advantage of in modeling and constructing object systems. Natural means we use concepts, classification, and generalization to understand and deal with the complexities of the real world. See the example below using computers.
Inherited parents can specify various flavors of state.
Inheritance also provides for member lookup, or internal environment. It would be more judicious to have discussions on how inheritance should be defined instead of over what it is, since it has many existing uses and semantics. In classical OO, inheritance is a relationship between classes only. Differential programming is the use of inheritance to reuse existing classes by making a small change to a class. Creating a subclass to alter a method or to add a method to a parent class is an example.