Entwicklung eines flexiblen Objektmodells für ein ... - Jens Pfau
Entwicklung eines flexiblen Objektmodells für ein ... - Jens Pfau
Entwicklung eines flexiblen Objektmodells für ein ... - Jens Pfau
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
20 III. Taxonomie<br />
• Binärdateien<br />
• XML Dateien<br />
Vorteile:<br />
• Typen können mit externen Werkzeugen durch Spieldesigner erstellt werden.<br />
• Typen können zur Laufzeit geändert und nachgeladen werden, ohne dass das gesamte<br />
System neu kompiliert werden muss.<br />
Nachteile:<br />
• Jedes Laden <strong><strong>ein</strong>es</strong> Typs erfordert das Lesen von Daten aus externen Quellen wie Dateien<br />
oder Datenbanken. Dies benötigt Ressourcen wie Speicher und Rechenzeit.<br />
3.1.3.3 Vererbung<br />
Die Typisierung von Spielobjekten ist der erste Schritt; die Vererbung von Typen zu erlauben<br />
und damit Hierarchien derselben zu ermöglichen, ist der zweite. Sind Typen als Klassen modelliert,<br />
werden alle Aspekte bereits von der Programmiersprache bereitgestellt. Wenn Typen<br />
hingegen als Muster modelliert sind, bedarf es <strong>ein</strong>er proprietären Nachbildung dieses Prinzips.<br />
Im Folgenden wird untersucht, welche Konzepte der Vererbung sich anbieten und welche Komponenten<br />
der Typen <strong>für</strong> die Vererbung geeignet sind.<br />
Konzept der Vererbung<br />
In allen objektorientierten Programmiersprachen ist die Einfachvererbung umgesetzt, bei der<br />
jede Klasse maximal <strong>ein</strong>e Vaterklasse hat. In C++ zum Beispiel wird auch Mehrfachvererbung<br />
unterstützt. Dies führt allerdings zu dem Problem von Mehrdeutigkeiten, wenn zwei Vaterklassen<br />
<strong>ein</strong>er Klasse die gleiche Variable oder Methode definieren [Stroustrup, 2000]. Es ist<br />
abzuwiegen, ob der <strong>Entwicklung</strong>s- und Verwaltungsaufwand zur Laufzeit <strong>ein</strong>e Umsetzung der<br />
Mehrfachvererbung in <strong>ein</strong>em Objektmodell rechtfertigen.<br />
Durch die Einfachvererbung entsteht in der üblichen Umsetzung, bei der jeder Typ mindestens<br />
von <strong>ein</strong>em durch das System vorgegebenen Ausgangstyp erbt, <strong>ein</strong> gewurzelter Baum. In diesem<br />
repräsentiert jeder Knoten <strong>ein</strong>en Typ und jede Kante <strong>ein</strong>en Vererbungsschritt. Die Mehrfachvererbung<br />
führt zu <strong>ein</strong>em gerichteten Graphen, der mehrere „Wurzeln“ hat und bei dem jeder<br />
Knoten mehrere Väter haben kann. Für beide Strukturen lassen sich allerdings Blätter identifizieren,<br />
die dann die Enden ihrer Vererbungslinie kennzeichnen.<br />
20 <strong>Jens</strong> <strong>Pfau</strong> · Stephan Mehlhase