Overview#Inheritance is one of the four fundamentals of Object-oriented Programming
Inheritance is when an object or class is based on another object (prototypal inheritance) or class (class-based inheritance), using the same implementation (inheriting from an object or class) or specifying a new implementation to maintain the same behavior (realizing an interface; inheriting behavior; programming by difference).
Such an inherited class is called a subclass of its parent class or super class.
Inheritance is a mechanism for code reuse and to allow independent extensions of the original software via public classes and interfaces. The relationships of objects or classes through Inheritance give rise to a hierarchy.
Inheritance was invented in 1967 for Simula.
The term "Inheritance" is loosely used for both class-based and prototype-based programming, but in narrow use is reserved for class-based programming (one class inherits from another), with the corresponding technique in prototype-based programming being instead called delegation (one object delegates to another).