Eine Oberklasse ist die Klasse, von der eine andere ihre Eigenschaften und Methoden erbt. Die erbende Klasse heißt Unterklasse und kann das Geerbte ergänzen oder überschreiben.
- Oberklasse
Die Klasse, von der eine andere ihre Eigenschaften und Methoden erbt.
Beispiel: „Beide Formulartypen haben dieselbe Oberklasse und teilen sich die Prüfung der Eingaben.“Der Vorgang selbst heißt Vererbung.
Auch: Basisklasse, der Name aus dem C++-Umfeld; Superklasse, der Name aus Java und Smalltalk; Elternklasse in Anlehnung an den Dokumentbaum.
Die erbende Seite ist die Unterklasse.
Wozu eine Oberklasse dient
Dazu, Gemeinsames einmal zu beschreiben. Was für mehrere verwandte Dinge gilt, steht oben; was nur für eines gilt, steht unten. Eine Änderung am Gemeinsamen wirkt damit überall zugleich.
Daneben schafft sie eine gemeinsame Form. Wer eine Oberklasse erwartet, kann mit jeder Unterklasse umgehen, ohne sie im Einzelnen zu kennen.
Wo die Oberklasse an Grenzen stößt
Bei Dingen, die sich nicht sauber einordnen lassen. Vererbung behauptet, dass die Unterklasse eine Art der Oberklasse ist; stimmt das nicht, entstehen Klassen, die Verhalten erben, das sie abschalten müssen.
Dann ist Zusammensetzung der bessere Weg: Eine Klasse benutzt eine andere, statt von ihr abzustammen. Das ist der Grund für den geläufigen Rat, Komposition der Vererbung vorzuziehen.
Was tiefe Hierarchien von Oberklassen anrichten
Sie machen den Weg eines Aufrufs unübersichtlich. Wer wissen will, was eine Methode tut, liest sich über mehrere Ebenen nach oben, und an jeder kann sie überschrieben sein.
Als Faustregel gilt deshalb: zwei Ebenen sind meist genug. Wo mehr nötig scheint, beschreibt die Hierarchie oft eher die Entstehungsgeschichte des Programms als seinen Gegenstand.