14.09.2013 Aufrufe

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

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!