Everything about Inheritance (object-oriented programming)
Process of deriving classes from, and organizing them into, a hierarchy
In object-oriented programming, inheritance is the mechanism of basing an object or class upon another object or class, retaining similar implementation. It is also defined as deriving new classes from existing ones such as super class or base class and then forming them into a hierarchy of classes. In most class-based object-oriented languages like C++, an object created through inheritance, a "child object", acquires all the properties and behaviors of the "parent object", with the exception of: constructors, destructors, overloaded operators and friend functions of the base class. Inheritance allows programmers to create classes that are built upon existing classes, to specify a new implementation while maintaining the same behaviors, to reuse code and to independently extend original software via public classes and interfaces. The relationships of objects or classes through inheritance give rise to a directed acyclic graph. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Inheritance (object-oriented programming)A 5-minute orientation
- Skim a recent paper: Puzzle Pattern, a Systematic Approach to Multiple Behavioral Inheritance Implementation in Object-Oriented ProgrammingInfluential work since 2022
- Pick up a classic book: Fundamentals of Computer Programming with CSharp Free Book (by Nakov & Co.)The most-reprinted book on the subject
- Read the landmark paper: Encapsulation and inheritance in object-oriented programming languagesCited 78 times
- Go sideways: Fragile base classA closely related topic
- Go sideways: Class (programming)A closely related topic
📖 Definitions
No dictionary entry for this exact phrase.
🏆 Landmark papers (most cited)
Encapsulation and inheritance in object-oriented programming languages
Using Types and Inheritance in Object-Oriented Programming
Synchronisation, concurrent object-oriented programming and the inheritance anomaly
Single versus multiple inheritance in object oriented programming
Single versus multiple inheritance in object oriented programming
The notion of inheritance in object-oriented programming
A Formal Model of Conformity Testing of Inheritance for Object Oriented Constraint Programming
An implementation inheritance model for object-oriented programming
🆕 Influential since 2022
📚 Books worth reading
Fundamentals of Computer Programming with CSharp Free Book (by Nakov & Co.)Svetlin Nakov · 2013
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Fragile base class The fragile base class problem is a fundamental architectural problem of object-oriented programming systems where base classes (superclasses) are considered…
- Class (programming) In programming, a class is a syntactic entity structure used to create objects. The capabilities of a class differ between programming languages, but generally…
- Virtual function In object-oriented programming such as is often used in C++ and Object Pascal, a virtual function or virtual method is an inheritable and overridable function…
- Abstract type In programming languages, an abstract type (also known as existential types) is a type in a nominative type system that cannot be instantiated directly;…
- Method (computer programming) A method in object-oriented programming (OOP) is a procedure associated with an object, and generally also a message. An object consists of state data…
- Multiple inheritance Multiple inheritance is a feature of some object-oriented computer programming languages in which an object or class can inherit features from more than…
- Method overriding Method overriding, in object-oriented programming, is a language feature that allows a subclass or child class to provide a specific implementation of…
- Template method pattern In object-oriented programming, the template method is one of the behavioral design patterns identified by Gamma et al. in the book Design Patterns. The…