Homepage der FernUniversität in Hagen
Objektorientiertes Programmieren
Lehrgebiet Datenverarbeitunghstechnik
Startseite

5.4 Klassengeflecht

5.4

Klassengeflecht

Definition 5.4-1: Klassenhierarchie, Spezialisierung, Attribut und Verhalten

KlassenhierarchieÄhnlich wie in der Biologie können die Klassen objektorientierter Modelle und Programme auf der Basis einer Verwandtschaftsrelation zu hierarchischen Strukturen verknüpft werden. Sie werden Klassenhierarchien genannt.

In einer Klassenhierarchie weisen nachgegliederte Klassen alle Eigenschaften (AttributVerhaltenSpezialisierungAttribute) und Fähigkeiten ( Verhalten) der Klassen auf, von denen sie abgeleitet wurden. Sie sind Spezialisierungen der übergeordneten Klassen. Sie können die geerbten Eigenschaften und Fähigkeiten neu bestimmen und durch eigene Attribute und Fähigkeiten erweitern.

Beispiel 5.4-1: Klassenhierarchie

Abb.  5.4-1 zeigt eine Klassenhierarchie für verschiedene Arten motorgetriebener Fahrzeuge:

Klassenhierarchie

Abb. 5.4-1:

Klassenhierarchie

Definition 5.4-2: Unterklasse, Oberklasse, Einfach- und Mehrfachvererbung

Eine Klasse A, die ihre Eigenschaften und Fähigkeiten von einer anderen Klasse B erbt, wird UnterklasseUnterklasse von B genannt. B ist die OberklasseOberklasse von A.

Eine Klasse besitzt in der Regel mehr als eine Unterklasse.

In manchen objektorientierten Programmiersprachen kann jede Klasse höchstens eine Oberklasse haben. Man spricht in diesen Fällen von der EinfachvererbungEinfachvererbung.

Ist MehrfachvererbungMehrfachvererbung in einem Modell oder einer Sprache zugelassen, kann eine Klasse auch mehr als eine Oberklasse haben.

Die Einfachvererbung erzeugt eine Baumstruktur für die Klassen einer Anwendung, während die Mehrfachvererbung die Klassen in einem azyklischen, gerichteten Klassengraphen (engl. acyclic directed graph, kurz DAG) aufspannt.