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

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

8 III. Taxonomie<br />

Objekte als Sprachkonstrukte<br />

In der objektorientierten Programmierung werden die potentiellen Eigenschaften von Objekten<br />

über ihre Klassen definiert. Dadurch sind diese Teil des Quelltextes. Mit Hilfe dieser naheliegenden<br />

Methode können natürlich auch Spielobjekte in der Form modelliert werden, dass <strong>für</strong><br />

jeden Typ von Spielobjekt <strong>ein</strong>e Klasse definiert wird, von der dann wiederum Instanzen kreiert<br />

werden können, die sich schließlich in den Werten ihrer Eigenschaften unterscheiden.<br />

Vorteile [Riley, 2003; Duran, 2003]:<br />

• Es wird weniger Speicher benötigt, da gem<strong>ein</strong>same Attribute von Spielobjekten auf die<br />

Klassenebene verlagert werden können.<br />

• Typüberprüfungen <strong>für</strong> die Belegungen der Eigenschaften können auf der Sprachebene in<br />

effizienter Form durchgeführt werden.<br />

• Typen von Objekten können durch ihre Klasse identifiziert werden.<br />

• Die Modellierung erfolgt nach <strong>ein</strong>em gutverstandenen Prinzip.<br />

Nachteile:<br />

• Es entsteht <strong>ein</strong>e große Menge Quelltext und somit <strong>ein</strong> höheres Fehlerrisiko sowie <strong>ein</strong>e<br />

komplexere Wartung des Systems.<br />

• Es ist schwierig, nur Teile des Spiels zu laden, da alles fest kompiliert ist.<br />

• Für jede kl<strong>ein</strong>e Änderung muss der Quelltext neu kompiliert werden.<br />

• Folglich ist es kompliziert, das Spiel zur Laufzeit zu ändern.<br />

• Typen von Objekten können nur durch ihre Klasse identifiziert werden.<br />

• Der übersetzte Quelltext ist nicht unbedingt von Menschen lesbar.<br />

Dynamische Attribute<br />

Bei dieser Architektur existiert nur <strong>ein</strong>e Klasse, die als <strong>ein</strong>zige Variable <strong>ein</strong>e leere Hashtable<br />

definiert [Riley, 2003]. Die Instanzen dieser Klasse füllen dann jeweils diese Hashtable mit Zuordnungen<br />

von Schlüsselwörtern zu Werten, wobei die Werte nicht typisiert sind und die Typen<br />

folglich zur Laufzeit bestimmt werden müssen. Jede Eigenschaft <strong><strong>ein</strong>es</strong> Objekts kann somit über<br />

das entsprechende Schlüsselwort abgefragt werden.<br />

Vorteile:<br />

• Es wird nur <strong>ein</strong>e <strong>ein</strong>zige Klasse benötigt.<br />

8 <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!