Zwillingsklasse - de.LinkFang.org

Zwillingsklasse




Eine Zwillingsklasse (englisch twin class) ist eine softwaretechnische Konstruktion zur Realisation von Mehrfachvererbung in der objektorientierten Programmierung.

Bei der Mehrfachvererbung können Namenskonflikte auftreten, wenn in den beerbten Basisklassen gleiche Bezeichner vorhanden sind. Dies führt zu einem verhältnismäßig hohen Verwaltungsaufwand für Compiler, die direkt eine Mehrfachvererbung von Eigenschaften aus verschiedenen Basisklassen erlauben. Diese Problematik kann durch die Verwendung von Zwillingsklassen vermieden werden. Gleichzeitig ergibt sich die Möglichkeit, verschiedene Ausprägungen einer Eigenschaft zu modellieren (siehe auch Diamond-Problem). Beispielsweise können bei einem Amphibienfahrzeug, das die Eigenschaften der Basisklassen Landfahrzeug und Wasserfahrzeug erbt, die sich beide wiederum auf die Basisklasse Fahrzeug beziehen, die sich unterscheidenden Fortbewegungsgeschwindigkeiten an Land und auf dem Wasser nicht ohne weiteres modelliert werden.

Bei Zwillingsklassen gibt es nicht nur eine Instanz, die sich auf zwei Basisklassen bezieht, sondern eine aus zwei Objekten bestehende Zwillings-Instanz, bei der sich beide Erben gegenseitig referenzieren. Ein Amphibienfahrzeug wäre in diesem Fall nicht gleichzeitig Erbe von Landfahrzeug und Wasserfahrzeug, sondern bestünde sowohl aus einer Instanz Wasserfahrzeug (mit einer Fortbewegungsgeschwindigkeit im Wasser) als auch aus einer Instanz Landfahrzeug (mit einer Fortbewegungsgeschwindigkeit an Land). In diesem Fall müssen allerdings unveränderliche Eigenschaften, wie zum Beispiel Gewicht, vom Programmierer unter Umständen redundant in beiden Instanzen verwaltet werden.

Das Prinzip der Zwillingsklassen kann auch leicht auf Objekte mit mehr als zwei Basisklassen übertragen werden.

Literatur





Kategorien: Objektorientierte Programmierung



Quelle: Wikipedia - https://de.wikipedia.org/wiki/Zwillingsklasse (Autoren [Versionsgeschichte])    Lizenz: CC-by-sa-3.0


Veränderungen: Alle Bilder und die meisten Designelemente, die mit ihnen in Verbindung stehen, wurden entfernt. Icons wurden teilweise durch FontAwesome-Icons ersetzt. Einige Vorlagen wurden entfernt (wie „Lesenswerter Artikel“, „Exzellenter Artikel“) oder umgeschrieben. CSS-Klassen wurden zum Großteil entfernt oder vereinheitlicht.
Wikipedia spezifische Links, die nicht zu Artikeln oder Kategorien führen (wie „Redlink“, „Bearbeiten-Links“, „Portal-Links“) wurden entfernt. Alle externen Links haben ein zusätzliches FontAwesome Icon erhalten. Neben weiteren kleinen Designanpassungen wurden Media-Container, Karten, Navigationsboxen, gesprochene Versionen & Geo-Mikroformate entfernt.


Stand der Informationen: 05.05.2020 03:52:42 CEST - Wichtiger Hinweis Da die gegebenen Inhalte zum angegebenen Zeitpunkt maschinell von Wikipedia übernommen wurden, war und ist eine manuelle Überprüfung nicht möglich. Somit garantiert LinkFang.org nicht die Richtigkeit und Aktualität der übernommenen Inhalte. Sollten die Informationen mittlerweile fehlerhaft sein oder Fehler in der Darstellung vorliegen, bitten wir Sie darum uns per zu kontaktieren: E-Mail.
Beachten Sie auch : Impressum & Datenschutzerklärung.