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.

42 3 Durchführung des Lösungsplans<br />

Hinweis: Besteht eine Keyword-Message aus mehreren Selektoren, so werden die<br />

Selektoren – ohne Trennzeichen – hintereinander aufgeführt, sofern wir den Message-<br />

Selektor im Rahmen unserer Darstellung angeben. Folglich kennzeichnen wir z.B.<br />

eine Keyword-Message mit den Selektoren “when:” und “perform:” in der Form<br />

“when:perform:”.<br />

ˆ Eine Message, die durch einen einzigen Selektor – ohne einen abschließenden<br />

Doppelpunkt – gekennzeichnet ist, wird als unäre Message bezeichnet.<br />

Hinweis: Derartige Messages dienen häufig zum Prüfen oder für den Zugriff auf<br />

die Instanz-Variablen des Empfänger-Objekts.<br />

Während es sich bei den oben angegebenen Messages “new” und “initialisieren-<br />

Erfassung” jeweils um eine unäre Message handelt, stellt “festlegenUeberschrift:”<br />

eine Keyword-Message dar, mit der sich die wie folgt vereinbarte Methode (siehe<br />

Abschnitt 2.5) zur Ausführung abrufen läßt:<br />

festlegenUeberschrift: aString<br />

self labelWithoutPrefix: aString<br />

Dabei dient “aString” als Platzhalter für das Argument, das innerhalb der Message,<br />

mit der diese Methode zur Ausführung abgerufen wird, hinter dem Message-Selektor<br />

“festlegenUeberschrift:” aufgeführt ist.<br />

Da innerhalb der Message “festlegenUeberschrift:” das Argument “Jahrgangsstufe<br />

11” aufgeführt wurde, wird es für den Platzhalter “aString” innerhalb der Methode<br />

“festlegenUeberschrift:” eingesetzt und die Methode in dieser Form zur Ausführung<br />

gebracht.<br />

Die Vereinbarung der Methode “festlegenUeberschrift:” ist ein Beispiel dafür, wie<br />

Methoden innerhalb einer Klasse festgelegt werden müssen, deren Ausführung durch<br />

eine Keyword-Message abgerufen werden soll.<br />

ˆ Für jedes Argument der Keyword-Message ist der Name eines Platzhalters<br />

zu bestimmen, der – zu Beginn der Methoden-Vereinbarung – hinter dem<br />

zugehörigen Selektor aufzuführen ist und dem Bildungsgesetz für Instanz-<br />

Variablen folgen muß. Innerhalb der Anforderungen, die in der Methode festgelegt<br />

werden, dürfen Platzhalter an geeigneten Positionen angegeben werden.<br />

Sie werden vor der Ausführung der Methode jeweils durch die mit ihnen korrespondierenden<br />

Argumente der Keyword-Message ersetzt.<br />

Hinweis: Bei der Vereinbarung von Methoden ist es sinnvoll, die benötigten Platzhalter<br />

durch Namen zu bezeichnen, die mit den Namen derjenigen Klassen korrespondieren,<br />

aus denen sie instanziiert sein sollten, wenn sie als Argumente der zugehörigen Keyword-<br />

Message aufgeführt sind.<br />

Sofern eine Zeichenkette als Argument verwendet werden soll, ist es daher sinnvoll, die<br />

Bezeichnung “aString” für den Platzhalter zu wählen, da jede Zeichenkette eine Instanz<br />

der Basis-Klasse “String” darstellt (siehe unten).<br />

Setzen wir Platzhalter – wie z.B. “aString” – ein, so spricht man von “typed parameter”,<br />

da dadurch ein Hinweis auf den Typ des Objekts gegeben wird. Statt “typed parameter”<br />

ist es in <strong>SMALLTALK</strong> auch üblich, sog. “semantic parameter” zu verwenden. Darunter<br />

sind Platzhalter zu verstehen, die die Bedeutung des Platzhalters charakterisieren. Im Falle<br />

der Methode “festlegenUeberschrift:” könnten wir z.B. als Platzhalter “eineUeberschrift”<br />

verwenden.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!