In software engineering, the Twin pattern is a software design pattern that allows developers to model multiple inheritance in programming languages that do not support multiple inheritance. This pattern avoids many of the problems with multiple inheritance.
Attributes | Values |
---|
rdf:type
| |
rdfs:label
| - Zwillingsklasse (de)
- Twin pattern (en)
- Близнюки (шаблон проєктування) (uk)
|
rdfs:comment
| - In software engineering, the Twin pattern is a software design pattern that allows developers to model multiple inheritance in programming languages that do not support multiple inheritance. This pattern avoids many of the problems with multiple inheritance. (en)
- Близнюки — патерн проєктування, що дозволяє імітувати множинне наслідування у мовах програмування, які цього не підтримують. (uk)
- 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 erb (de)
|
foaf:depiction
| |
dct:subject
| |
Wikipage page ID
| |
Wikipage revision ID
| |
Link from a Wikipage to another Wikipage
| |
sameAs
| |
dbp:wikiPageUsesTemplate
| |
thumbnail
| |
has abstract
| - 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. (de)
- In software engineering, the Twin pattern is a software design pattern that allows developers to model multiple inheritance in programming languages that do not support multiple inheritance. This pattern avoids many of the problems with multiple inheritance. (en)
- Близнюки — патерн проєктування, що дозволяє імітувати множинне наслідування у мовах програмування, які цього не підтримують. (uk)
|
gold:hypernym
| |
prov:wasDerivedFrom
| |
page length (characters) of wiki page
| |
foaf:isPrimaryTopicOf
| |
is Link from a Wikipage to another Wikipage
of | |
is Wikipage redirect
of | |
is Wikipage disambiguates
of | |
is foaf:primaryTopic
of | |