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.

142 7 Hierarchische Gliederung von Lösungsplänen<br />

K1<br />

Methoden:<br />

mK<br />

1<br />

mK1<br />

self mK<br />

K2<br />

Methoden: mK<br />

2<br />

K3<br />

Methoden:<br />

mK2<br />

self mK1<br />

mK3 super mK<br />

K4<br />

Methoden: mK<br />

3<br />

Abbildung 7.5: Identifikation von Methoden beim Einsatz von “self” und “super”<br />

so erhalten wir auf der Basis von<br />

I3 := K3 new.<br />

I4 := K4 new<br />

als Ergebnis-Objekte der Anforderungen<br />

I3 mK3.<br />

I4 mK3<br />

jeweils den Wert “2”. Dies liegt daran, daß in beiden Fällen die Methode “mK” ab der<br />

Oberklasse von “K3” bzw. “K4” gesucht und unmittelbar in der Klasse “K2” gefunden<br />

wird.<br />

Anders ist dies bei der Anforderung<br />

I4 mK1<br />

mit dem Ergebnis-Objekt “3”. In dieser Situation wird zunächst die Methode “mK1”<br />

der Klasse “K1” ausgeführt. Da die Pseudovariable “self” in diesem Fall das Empfänger-<br />

Objekt der Message “mK1” (Instanz der Klasse “K4”) kennzeichnet, wird die Methode<br />

“mK” anschließend ab der Klasse “K4” gesucht. Sie wird in der Klasse “K4” gefunden und<br />

abschließend ausgeführt.<br />

Der Einsatz der Pseudovariablen “super” ist insbesondere dann sinnvoll, wenn zur<br />

Lösung von ähnlichen Aufgabenstellungen gleichnamige Methoden verwendet werden<br />

sollen, wobei die Methode aus einer Unterklasse das gleiche wie die gleichnamige<br />

Methode aus der zugehörigen Oberklasse leisten und zusätzlich noch weitere Aufgaben<br />

erfüllen soll (siehe Abschnitt 8.2).<br />

Zur Lösung von PROB-5 sehen wir – unter Einsatz der Pseudovariablen “super” –<br />

eine hierarchische Stufung der Klassen “NoWerteErfassung”, “OrWerteErfassung”<br />

und “InWerteErfassung” als Unterklassen von “WerteErfassung” in der folgenden<br />

Form vor:

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!