Zum Inhalt springen

Vererbung (Objektorientierung)

oder auch Vererbung

Männliche Person, frontal, schaut in die Kamera; trägt kariertes Hemd über dunkelfarbigem T‑Shirt; heller Innenraum mit unscharfem Monitor oder Poster links und Fenster rechts.

von Richard Albrecht am 19.10.2026

Vererbung lässt eine Klasse von einer anderen abstammen und deren Daten und Methoden übernehmen, ohne sie noch einmal aufzuschreiben.

Vererbung

Ein Verfahren, bei dem eine Klasse die Daten und Methoden einer anderen übernimmt und um eigene ergänzt.
Beispiel: „Durch Vererbung bringt jeder Blogbeitrag schon mit, was jeder Inhalt gemeinsam hat.“

Auch: Ableitung. Die abgebende Klasse heißt Oberklasse oder Elternklasse, die übernehmende Unterklasse oder Kindklasse.

Abgrenzung zur Komposition: Statt zu erben, kann ein Objekt ein anderes als Bestandteil halten. Das ist oft die haltbarere Lösung, weil es sich leichter wieder auseinandernehmen lässt.

Was übernommen wird

Alles, was die Oberklasse hat. Die Unterklasse schreibt nur noch auf, was hinzukommt oder anders sein soll. Eine Methode, die anders laufen muss, wird neu geschrieben und ersetzt damit die geerbte; das heißt Überschreiben.

Innerhalb der überschriebenen Methode lässt sich die ursprüngliche weiterhin aufrufen. So wird die geerbte Regel ergänzt, statt sie ganz zu ersetzen.

Oben ein Kasten mit der Oberklasse Inhalt und den Feldern titel und veroeffentlichtAm sowie der Methode istSichtbar. Darunter zwei Kästen, Blogbeitrag und Produkt, die je ein eigenes Feld ergänzen; Produkt überschreibt zusätzlich die Methode istSichtbar
Was alle gemeinsam haben, steht oben und wird nur einmal geschrieben.
class Inhalt {
  istSichtbar() {
    return this.veroeffentlichtAm <= new Date();
  }
}

class Produkt extends Inhalt {
  istSichtbar() {
    // die geerbte Regel gilt weiter, plus eine eigene
    return super.istSichtbar() && this.bestand > 0;
  }
}

Warum sie mit Vorsicht benutzt wird

Vererbung bindet zwei Klassen fest aneinander. Ändert sich die Oberklasse, ändert sich stillschweigend jede Unterklasse mit. Bei zwei Ebenen ist das überschaubar, bei fünf sucht niemand mehr gern, wo eine Methode eigentlich herkommt.

In unseren über 2.500 Website-Projekten ist eine tiefe Klassenhierarchie ein verlässlicher Hinweis darauf, dass eine Erweiterung länger dauert als gedacht. Die heutige Empfehlung lautet, flach zu bleiben und im Zweifel zusammenzusetzen statt abzuleiten.

Wo sie trotzdem richtig ist

Dort, wo die Beziehung wirklich eine Ist-ein-Beziehung ist. Ein Blogbeitrag ist ein Inhalt, ein Produkt auch. Wo sich das so sagen lässt, trägt die Vererbung; wo nur zufällig Code gemeinsam ist, trägt sie nicht.

Siehe auch:

Klassen (Objektorientierung)

Die Vorlage, nach der gleichartige Objekte gebaut werden.

#Programmiersprachen

Objektorientierte Programmierung (OOP)

Ein Programm nach den Dingen ordnen, um die es geht, statt nach den Arbeitsschritten.

#Programmiersprachen

Methoden

Eine Funktion, die zu einem Objekt gehört und auf dessen eigenen Daten arbeitet.

#Programmiersprachen

Interface (Programmierung)

Legt fest, welche Methoden eine Klasse haben muss, und sagt nichts darüber, wie sie sie ausführt.

#Programmiersprachen