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.

96 6 Einsatz von Basis-Methoden<br />

und der Methode “erfassenWert:” herstellt.<br />

In der ersten Anforderung<br />

werteBag add: (self paneNamed: ’eingabeFeld’) contents<br />

wird dem Empfänger-Objekt “werteBag”, das zu derjenigen Instanz von “WerteErfassung”<br />

gehört, an die die Message “erfassenWert:” gerichtet wird, die verschachtelte<br />

Message<br />

add: (self paneNamed: ’eingabeFeld’) contents<br />

übermittelt. Diese Message besteht aus der Keyword-Message “add:”, der als Argument<br />

aufgeführten eingeklammerten Anforderung der Form “(self paneNamed:<br />

’eingabeFeld’)” und der unären Message “contents”.<br />

Im Hinblick auf die Ausführungsreihenfolge ist zu erkennen, daß die Message<br />

(self paneNamed: ’eingabeFeld’)<br />

zuerst ausgeführt wird. Durch “self” ist festgelegt, daß die Message<br />

paneNamed: ’eingabeFeld’<br />

an das Objekt gerichtet wird, dem die Message “erfassenWert:” zugestellt wird,<br />

d.h. einer Instanz der Klasse “WerteErfassung”. Da diese Klasse eine Unterklasse<br />

der Basis-Klasse “ViewManager” ist, erbt jede Instanz von “WerteErfassung”<br />

die Eigenschaften der Klasse “ViewManager” und kennt auch die Methoden, die in<br />

“ViewManager” vereinbart sind. Da in der Klasse “ViewManager” die Methode “paneNamed:”<br />

festgelegt ist, kann sie folglich von einer Instanz von “WerteErfassung”<br />

ausgeführt werden.<br />

ˆ “paneNamed:”:<br />

Bei der Ausführung der Keyword-Message<br />

paneNamed: ’eingabeFeld’<br />

mit dem Argument “ ’eingabeFeld’ ” wird als Ergebnis-Objekt das Eingabefeld<br />

des Erfassungsfensters ermittelt. Dieses Eingabefeld wurde – bei der<br />

Ausführung der Methode “initialisierenErfassung” – durch eine Instanziierung<br />

aus der Basisklasse “EntryField” eingerichtet. Es verkörpert daher eine<br />

Instanz der Basis-Klasse “EntryField”.<br />

Hinweis: Im Abschnitt 2.2 haben wir den Namen “eingabeFeld” zur Kennzeichnung<br />

dieses Eingabefeldes festgelegt, als wir – unter Einsatz des Werkzeugs “WindowBuilder<br />

Pro” – den Aufbau unseres Erfassungsfensters bestimmt haben.<br />

Da bei<br />

add: (self paneNamed: ’eingabeFeld’) contents<br />

zuerst

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!