Zum Inhalt springen

Diamond-Problem

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 30. Januar 2006 um 00:20 Uhr durch JakobVoss (Diskussion | Beiträge) (mit Beispiel). Sie kann sich erheblich von der aktuellen Version unterscheiden.
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Das Diamond-Problem ist ein Problem bei der Verwendung von Mehrfachvererbung im Rahmen der Objektorientierten Programmierung und Wissensmodellierung. Es kann auftreten wenn eine Klasse auf zwei verschiedenen Vererbungspfaden von ein und derselben Basisklasse abstammt. Zeichnet man die Vererbungsbeziehungen zwischen den Klassen in einem Diagram auf, so ergibt sich die Form einer Rautenform (englisch rhombus oder diamond), nach der das Diamond-Problem benannt ist.

Ein häufig zur Beschreibung von Mehrfachvererbung genanntes Beispiel ist ein Amphibienfahrzeugs, das sowohl die Eigenschaften eines Landfahrzeuges als auch die eines Wasserfahrzeuges erbt. Das Diamond-Problem tritt hierbei auf, wenn beide von der Klasse der Fahrzeuge abstammen, die alle eine Methode zum Fortbewegen besitzen. Die Frage ist nun, ob sich ein Aphibienfahrzeug wie ein Landfahrzeug oder ein Wasserfahrzeug oder wie ein Landfahrzeug und ein Wasserfahrzeug fortbewegt. Diese Mehrdeutigkeit kann nur im Einzelfall gelöst werden; so hat ein Amphibienfahrzeug beispielsweise zwei Fortbewegungsarten aber nur ein Gewicht, obwohl sowohl Landfahrzeug als auch Wasserfahrzeug ein Gewicht haben.