Zum Inhalt springen
uencoder

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

Verwandte Begriffe

References