Inheritance
Vererbung lässt eine Unterklasse Felder und Methoden ihrer Oberklasse wiederverwenden und erweitern und begründet eine Ist-ein-Beziehung — ein Kernmechanismus der Objektorientierung.
Zweck
Codewiederverwendung und hierarchische Modellierung, aber Übernutzung führt zum Problem der fragilen Basisklasse.
Mechanismus
Eine Unterklasse erbt die Mitglieder der Oberklasse und darf sie ergänzen oder überschreiben. Einfachvererbung (Java-Klassen) vs. Mehrfachvererbung (C++/Python). Das Diamantproblem erfordert virtuelle Vererbung (C++) oder Linearisierung (Python MRO). Komposition statt Vererbung ist das Leitprinzip.
Anwendungsfälle
- Objektorientiertes Design
- Hierarchische Modellierung
- Codewiederverwendung