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