03.11.2013 Aufrufe

SMALLTALK K1ex127-.45ex51275ahler/Bothner

SMALLTALK K1ex127-.45ex51275ahler/Bothner

SMALLTALK K1ex127-.45ex51275ahler/Bothner

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

70 4 Erweiterung des Lösungsplans<br />

|summe durchschnittswert|<br />

summe := 0.<br />

WerteErfassung11 bereitstellenWerte<br />

do: [:einObjekt|summe := summe + einObjekt asInteger].<br />

durchschnittswert := summe /<br />

(WerteErfassung11 bereitstellenWerte size).<br />

Transcript cr;<br />

show: ’Der Durchschnittswert ist: ’;<br />

show: durchschnittswert asFloat printString<br />

Ergebnis-Objekt einer Kaskade<br />

Durch die Ausführung kaskadierter Messages erhalten wir als Ergebnis-Objekt der<br />

Kaskade das Ergebnis-Objekt der zuletzt ausgeführten Message. Soll das Ergebnis-<br />

Objekt einer Kaskade durch das Empfänger-Objekt der Kaskade festgelegt sein, so<br />

ist die Basis-Methode “yourself” einzusetzen.<br />

ˆ Wird die Basis-Methode “yourself” als letzte Message aufgeführt, so wird das<br />

Empfänger-Objekt der Kaskade zum Ergebnis-Objekt der Kaskade.<br />

Zum Beispiel ist das Empfänger-Objekt von<br />

Bag new add: 1; add: 2<br />

ein Bag und das Ergebnis-Objekt dieser Kaskade gleich der Zahl “2”, da das Ergebnis-<br />

Objekt der Message “add:” gleich dem als Argument aufgeführten Wert ist.<br />

Damit als Ergebnis-Objekt der Kaskade das Empfänger-Objekt, d.h. der Bag selbst<br />

resultiert, ist die Message “yourself” wie folgt zu ergänzen:<br />

Bag new add: 1; add: 2; yourself<br />

Hinweis: Setzen wir nach der Erfassung von Punktwerten die Message “yourself” z.B.<br />

innerhalb der Kaskade<br />

WerteErfassung11 bereitstellenWerte; yourself<br />

ein, so erhalten wir “a WerteErfassung” als Ergebnis-Objekt angezeigt, sofern wir die<br />

Ausführung über die Menü-Option “Show It” des Menüs “Smalltalk” abrufen. Diese Ausgabe<br />

kennzeichnet den Sachverhalt, daß “WerteErfassung11” eine Instanz der Klasse “WerteErfassung”<br />

ist.<br />

Ist als letzte Anforderung innerhalb einer Methoden-Vereinbarung eine Kaskade<br />

enthalten, die durch das Return-Zeichen “∧” eingeleitet wird, so ist das Ergebnis-<br />

Objekt dieser Methode bekanntlich durch das Ergebnis-Objekt der letzten, innerhalb<br />

der Kaskade aufgeführten Message bestimmt. Soll erreicht werden, daß stattdessen<br />

das Empfänger-Objekt der Kaskade als Ergebnis-Objekt der Methodenausführung<br />

resultiert, so muß die Kaskade durch die unäre Message “yourself”<br />

beendet werden.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!