03.11.2013 Aufrufe

SMALLTALK K1ex127-.45ex51275ahler/Bothner

SMALLTALK K1ex127-.45ex51275ahler/Bothner

SMALLTALK K1ex127-.45ex51275ahler/Bothner

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.

Kapitel 9<br />

Einrichtung und Verarbeitung von Sammlern<br />

In den vorausgehenden Kapiteln haben wir zur Lösung unserer Problemstellungen<br />

geeignete Sammler zur Speicherung von Objekten verwendet, die sich als Instanzen<br />

z.B. der Basis-Klassen “Bag” und “OrderedCollection” einrichten ließen.<br />

Nachdem wir bislang lösungs-orientiert vorgegangen sind und dabei die jeweils<br />

benötigten Sammler und die für sie verwendeten Methoden in den Abschnitten<br />

vorgestellt haben, in denen sie zur Umsetzung eines Lösungsplans benötigt wurden,<br />

geben wir im folgenden einen systematischen Überblick.<br />

Grundsätzlich ist festzustellen:<br />

ˆ Jeder Sammler muß als Instanz einer geeigneten Unterklasse der Basis-Klasse<br />

“Collection” eingerichtet werden.<br />

9.1 Unterklassen der Basis-Klasse “Collection”<br />

Zur Sammlung von beliebigen Objekten lassen sich Instanzen der Klasse “Bag”<br />

immer dann einsetzen, wenn kein direkter Zugriff auf Objekte des Sammlers erforderlich<br />

ist, die Anzahl der im Sammler gesicherten Objekte variabel sein soll und<br />

es unerheblich ist, ob ein Objekt mehrfach gespeichert ist.<br />

Sofern jedoch z.B. die Forderung, daß sich beliebig viele Objekte sammeln lassen,<br />

erfüllt und zusätzlich gesichert sein soll, daß ein Objekt höchstens einmal innerhalb<br />

eines Sammlers auftreten darf, sind Instanzen der Klasse “Bag” ungeeignet.<br />

In diesem Fall muß die Sicherung der zu sammelnden Objekte in Form eines “Sets”<br />

durchgeführt werden.<br />

Andere Formen von Sammlern sind z.B. in den Fällen zu wählen, in denen der Zugriff<br />

auf einzelne gesammelte Objekte – über einen Zugriffsschlüssel wie z.B. einen Key<br />

oder eine Index-Position – ermöglicht oder die Speicherung in sortierter Reihenfolge<br />

vorgenommen werden soll.<br />

Derartige Forderungen lassen sich dadurch erfüllen, daß geeignete Instanziierungen<br />

aus anderen Basis-Klassen des <strong>SMALLTALK</strong>-Systems vorgenommen werden.<br />

In dieser Hinsicht sind alle Unterklassen der Basis-Klasse “Collection” von Interesse.<br />

Eine geeignete Auswahl dieser Klassen und deren hierarchische Gliederung gibt die<br />

folgende Darstellung wider:

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!