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.

184 9 Einrichtung und Verarbeitung von Sammlern<br />

VarDic keysDo:[:einKey|Transcript cr; show:einKey printString]<br />

stellen.<br />

Hinweis: Zur Anzeige der Keys können wir auch die unäre Message “keys” in der Form<br />

“VarDic keys” einsetzen. Diese Message liefert als Ergebnis-Objekt eine Instanz der Klasse<br />

“Set”.<br />

9.4.2 Das System-Dictionary “Smalltalk” und das Methoden-Dictionary<br />

Das System-Dictionary “Smalltalk”<br />

Als besondere Form eines Dictionarys haben wir im Abschnitt 8.3 das System-<br />

Dictionary in Form der globalen Variablen “Smalltalk” vorgestellt, die als einzige<br />

Instanz aus der Basis-Klasse “SystemDictionary” als Dictionary mit Key-Value-<br />

Paaren existiert.<br />

Dieser Sammler enthält sämtliche Namen der im <strong>SMALLTALK</strong>-System vereinbarten<br />

globalen Objekte, d.h. alle Klassennamen und die Namen aller globalen Variablen<br />

(d.h. auch die Namen der vereinbarten Pool-Dictionary-Variablen). Diese<br />

Namen sind in Form von Symbolen gespeichert, da sämtliche Keys des System-<br />

Dictionarys Instanzen der Basis-Klasse “Symbol” sind. Als Values sind diesen Symbolen<br />

jeweils Instanzen bzw. Klassen zugeordnet.<br />

Wurde z.B. der Variablen “WerteErfassung11” eine Instanz der Klasse “WerteErfassung”<br />

und der Variablen “VarBag” eine Instanz der Klasse “Bag” zugeordnet, in<br />

der die Objekte “32” und “37” gesammelt wurden, so stellt die folgende Abbildung<br />

einen Ausschnitt aus dem System-Dictionary dar:<br />

Smalltalk<br />

...<br />

#VarBag Bag(32 37)<br />

#WerteErfassung<br />

...<br />

Key<br />

#WerteErfassung11<br />

...<br />

...<br />

#Smalltalk<br />

... ...<br />

Value<br />

Klasse<br />

"WerteErfassung"<br />

Instanz der Klasse<br />

"WerteErfassung"<br />

Abbildung 9.4: System-Dictionary<br />

Hinweis: Da die Variable “Smalltalk” ebenfalls ein globales Objekt des <strong>SMALLTALK</strong>-<br />

Systems ist, erscheint das Symbol “#Smalltalk” in dieser Tabelle ebenfalls als Key.<br />

Um z.B. das Key-Value-Paar zu ermitteln, auf das die Variable “WerteErfassung11”<br />

weist, läßt sich die Message<br />

Smalltalk lookUpKey: #WerteErfassung11

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!