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.

3.4 Anzeige von Werten der Instanz-Variablen 51<br />

ˆ “show:”:<br />

Bei “show:” handelt es sich ebenfalls um eine Basis-Methode, die dem Objekt<br />

“Transcript” bekannt ist.<br />

Wird “Transcript” die Message “show:” mit dem Argument ’Erfaßte Punktwerte:’<br />

gesandt, so ändert sich das äußere Erscheinungsbild des Transcript-<br />

Fensters, indem der Text “Erfaßte Punktwerte:” mit Beginn der aktuellen<br />

Cursor-Position im Transcript-Fenster ausgegeben wird.<br />

Sammler<br />

Um in dem oben angegebenen Struktogramm den Schleifenblock (3) umzuformen,<br />

verwenden wir die folgende Anforderung:<br />

werteBag do:[:einObjekt|Transcript cr.Transcript show:einObjekt]<br />

Hierbei wird eine Message mit dem Message-Selektor “do:” an ein Empfänger-<br />

Objekt namens “werteBag” gerichtet.<br />

Damit diese Message sinnvoll ist, muß es sich bei dem Empfänger-Objekt um eine<br />

Sammlung von Objekten handeln.<br />

ˆ Als Sammler werden Instanzen von Basis-Klassen bezeichnet, die sich zur<br />

Sammlung von Objekten verwenden lassen.<br />

Als Beispiel für einen Sammler haben wir den “Bag” als Instanz der Basis-Klasse<br />

“Bag” kennengelernt.<br />

ˆ Ein Bag stellt die allgemeinste Form eines Sammlers dar.<br />

Bei einem derartigen Sammler können gleiche Objekte mehrfach auftreten.<br />

Allerdings ist zu berücksichtigen, daß es keine direkte Zugriffsmöglichkeit auf<br />

einzelne gesammelte Objekte gibt, so daß z.B. keine Message gezielt an ein<br />

erstes oder ein letztes Objekt eines Bags gerichtet werden kann.<br />

Hinweis: Neben einem Bag gibt es eine Vielzahl anderer Sammler wie z.B. ein “Set” (eine<br />

Menge) und einen “Array” (ein indizierter Sammler, bei dem über einen ganzzahligen Index<br />

auf jedes der gesammelten Objekte zugegriffen werden kann). Derartige Sammler werden<br />

wir im Kapitel 9 vorstellen.<br />

Das Objekt “Block”<br />

In der oben angegebenen Anforderung<br />

werteBag do:[:einObjekt|Transcript cr.Transcript show:einObjekt]<br />

wird als Argument des Message-Selektors “do:” ein Objekt verwendet, das die folgende<br />

Form besitzt:<br />

[:einObjekt | Transcript cr. Transcript show: einObjekt]<br />

Dieses Objekt, das durch die eckige Klammer “[” eingeleitet und durch die eckige<br />

Klammer “]” beendet wird, bezeichnet man als Block.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!