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.

124 6 Einsatz von Basis-Methoden<br />

ˆ “asSortedCollection”:<br />

Durch die Ausführung der Basis-Methode “asSortedCollection” läßt sich – als<br />

Ergebnis-Objekt – eine Instanz der Basis-Klasse “SortedCollection” einrichten,<br />

die aus den Objekten desjenigen Sammlers aufgebaut ist, der als Empfänger-Objekt<br />

dieser Message verwendet wird.<br />

6.7.2 Zugriff auf gesammelte Objekte<br />

Um gezielt auf ein Objekt, das in einer Instanz der Basis-Klasse “SortedCollection”<br />

enthalten ist, zugreifen zu können, kann die Basis-Methode “at:” eingesetzt werden.<br />

ˆ “at:”:<br />

Sofern die ganze Zahl, die innerhalb der Message “at:” als Argument aufgeführt<br />

ist, eine zulässige Index-Position innerhalb der Objekte des Sammlers<br />

kennzeichnet, legt das an dieser Index-Position plazierte Objekt das Ergebnis-<br />

Objekt der Message “at:” fest.<br />

Der Einsatz einer SortedCollection bietet sich z.B. zur Lösung der folgenden Problemstellung<br />

an:<br />

ˆ Bestimme das Maximum der durch “WerteErfassung11” erfaßten Punktwerte!<br />

Unter Einsatz der Basis-Methoden “asSortedCollection” und “at:” läßt sich die<br />

Lösung wie folgt angeben:<br />

WerteErfassung11 bereitstellenWerte asSortedCollection<br />

at: (WerteErfassung11 bereitstellenWerte size)<br />

Da eventuell der Wert “35” in der Form “ 35” (mit einem Leerzeichen vor der Ziffer<br />

“3”) oder “35 ” (mit einem Leerzeichen hinter der Ziffer “5”) erfaßt wurde, ist es<br />

sinnvoll, alle Zeichenketten – vor ihrer Übernahme in eine SortedCollection – in<br />

ganze Zahlen umzuwandeln.<br />

Um diesen Lösungsplan zu formulieren, formen wir die angegebene Anforderung wie<br />

folgt um:<br />

(WerteErfassung11 bereitstellenWerte<br />

collect: [:einObjekt| einObjekt asInteger])<br />

asSortedCollection<br />

at: (WerteErfassung11 bereitstellenWerte size)<br />

6.7.3 Bestimmung einer Index-Position<br />

Zur Lösung der Problemstellung<br />

ˆ Bestimme die Anzahl der erfaßten Punktwerte, die kleiner als der Wert “35”<br />

sind!

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!