Konzept Vererbung

 

Beim ObjektOrientierten Programmieren (OOP) ist jede Klasse eine spezialisierte Version einer Oberklasse. Das bedeutet, dass ihr nicht nur die eigenen Eigenschaften (= Instanzvariablen) und Fähigkeiten (= Methoden) zur Verfügung stehen, sondern auch diejenigen all ihrer Oberklassen.
Auf diese Weise lässt sich Code effizient über verschiedene Ebenen einer Klassenhierarchie verteilen, weil allgemeiner, für mehrere Unterklassen geltender Code nur einmal (in der Oberklasse) definiert werden muss. So erspart man sich u.a. das aufwändige und fehleranfällige Kopieren von Code in verschiedene Klassen – und jede Klasse muss nur die Dinge definieren, die sie speziell machen.

Analogie

Eine ähnliche Organisationsform findet sich bei biologischen Taxonomien. So haben beispielsweise Lebewesen bestimmte, sehr allgemeine Eigenschaften und Fähigkeiten, Unterklassen wie Pflanzen oder Tiere etwas speziellere, die dann in weiteren Unterklassen (Vögel, Säugetiere, Fische, usw.) noch spezifischer ausdifferenziert werden.
Ein ganz bestimmtes Lebewesen (z.B. mein Haustier Struppi) ist dann beispielsweise eine «Instanz» von Zwergterrier, hat aber auch all die Eigenschaften und Fähigkeiten von Hund, Raubtier, Säugetier und Lebewesen.