Klassenhierarchien
← Ăśberschreiben von Methoden | ● | Refactoring →
Die Menge aller von einer oder mehreren Basisklassen abgeleiteten Klassen nennt man Klassenhierarchie.
In Java ist eine Hierarchie immer ein Baum, weil Mehrfachvererbungen nicht zugelassen sind.
A
/ \
B C
/ \ \
D E F
In C++ ist eine Klassenhierarchie entweder ein Baum oder ein zyklenfreier Graph, da zwar Mehrfachvererbung zulässig ist, aber von einer Klasse nicht mehrfach direkt oder indirekt abgeleitet werden darf:
Zulässiger Ableitungsgraph (Mehrfachvererbung von A und B zu D = “Diamond Case”):
A B
/ \ /
C D
/ \ \
E F G
Nicht zulässiger Ableitungsgraph (Mehrfachvererbung von A über B und C zu E):
A
/ \
B C
/ \ / \
D E F
← Ăśberschreiben von Methoden | ● | Refactoring →