C-Programmierung

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

Options: