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 →