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.

4.4 Kommunikation eines Objektes mit sich selbst (“self”) 73<br />

Hierdurch wird der Zugriff auf die Werte der Instanz-Variablen nicht durch die Ausführung<br />

der Methode “bereitstellenWerte”, sondern direkt über die Verwendung des Variablennamens<br />

“werteBag” festgelegt.<br />

Wir verzichten auf diese vereinfachte Form, um die Methode “anzeigenDurchschnitt” auch<br />

zur Lösung anderer Problemstellungen einsetzen zu können.<br />

Werden z.B. im Rahmen eines erweiterten Bildschirmformulars nicht nur die Punktwerte,<br />

sondern zusätzlich kennzeichnende Daten wie z.B. das Geschlecht in Form von “m”<br />

bzw. “w” erfaßt, so können die eingegebenen Werte – entsprechend dem ursprünglichen<br />

Lösungsplan – wiederum in den Sammel-Behälter “werteBag” eingetragen werden – und<br />

zwar in Form von geordneten Paaren wie z.B. “(’37’ ’m’)”. Um anschließend den Inhalt<br />

von “werteBag” geeignet auswerten zu können, muß auf die einzelnen Komponenten der<br />

geordneten Paare zugegriffen werden. Da folglich keine direkte Bearbeitung von “werteBag”<br />

mehr durchführbar ist, müßte z.B. die Methode “anzeigenDurchschnitt” für eine<br />

Durchschnittsberechnung neu vereinbart werden. Somit ist es vorteilhaft, bereits innerhalb<br />

der Methode “anzeigenDurchschnitt” einen indirekten Zugriff auf die Werte von “werte-<br />

Bag” mittels der Methode “bereitstellenWerte” durchzuführen, so daß im Lösungsplan<br />

allein eine neue Vereinbarung der Methode “bereitstellenWerte” im Rahmen einer neuen<br />

Klassen-Vereinbarung vorgesehen werden muß.<br />

Die Methode “sammelnWerte:”<br />

Um für das Folgende eine Methode zur Verfügung zu haben, mit der sich die<br />

detaillierten Anforderungen zur Initialisierung und Durchführung der Erfassung<br />

abkürzend beschreiben lassen, vereinbaren wir innerhalb der Klasse “WerteErfassung”<br />

ergänzend die Methode “sammelnWerte:”, die wir – unter Einsatz einer Kaskade<br />

– in der folgenden Form festlegen:<br />

sammelnWerte: aString<br />

self initialisierenErfassung;<br />

festlegenUeberschrift: aString;<br />

durchfuehrenErfassung<br />

Wird die Methode “sammelnWerte:” durch die Message “sammelnWerte:” zur Ausführung<br />

gebracht, so wird zuvor – vom <strong>SMALLTALK</strong>-System – an allen Positionen,<br />

an denen “aString” innerhalb der Methode “sammelnWerte:” aufgeführt ist, die als<br />

Argument der Message “sammelnWerte:” angegebene konkrete Überschrift wie z.B.<br />

“Jahrgangsstufe 11” eingetragen.<br />

Nach der Vereinbarung der Methode “sammelnWerte:” befindet sich die Klasse<br />

“WerteErfassung” in folgendem Zustand:

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!