0.1.10 Inheritance

Inheritance is an object-oriented concept that is a means of basing one object or class on another. Cars and trucks are different from one another, but both are automobiles. Because of this it is possible for cars and trucks to inherit from automobile, as they both have characteristics that can be defined as ones automobiles have.
Both cars and trucks have similarities - both derive characteristics of the PoweredVehicle, so code for the engine, steering, braking, etc. would only have to be written once. The car and the truck being separated can focus on the differences between each other.

A concept of inheritance is classification. Inheritance is a way of classifying items in a program into categories.

Animals are classified into different families. This concept is using the ideas of inheritance, categorizing and organizing things into hierarchies. There are many methodologies that can be used to classify objects, and systems are developed to aid the organization and classification of these.

In object-oriented software development, inheritance is finding commonality across classes. It connects with the concepts of both abstraction and polymorphism.