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.

7.4 Überdecken von Methoden (“super”) 141<br />

K1<br />

Methoden: mK1<br />

K2<br />

Methoden: mK1<br />

mK2<br />

super mK1<br />

K3<br />

Methoden:<br />

mK1<br />

K4<br />

Methoden: mK1<br />

Abbildung 7.4: Identifikation von Methoden beim Einsatz von “super”<br />

Ist “I” eine Instanz von “K4”, und soll “I” die Methode “mK2” ausführen, so wird<br />

“mK2” innerhalb von “K2” identifiziert. Die in dieser Methode enthaltene Anforderung<br />

besagt, daß “I” die Methode “mK1” ausführen soll. Obwohl “mK1” sowohl<br />

in der Klasse “K3” als auch in der Klasse “K4” festgelegt ist, wird die Methode<br />

“mK1” von “I” innerhalb der Klasse “K1” identifiziert.<br />

Dies liegt daran, daß – durch die Verwendung der Pseudovariablen “super” – die<br />

auszuführende Methode “mK1” von “I” ab der “Super-Klasse” von K2, d.h. ab<br />

“K1” gesucht wird.<br />

Hinweis: Sofern wir die in der Klasse “K2” vereinbarte Methode “mK2” in der Form<br />

mK2<br />

self mK1<br />

abändern, würde durch die Anforderung<br />

I mK2<br />

die Methode “mK1” der Klasse “K4” ausgeführt. Dies liegt daran, daß sich die Pseudovariable<br />

“self” – genauso wie “super” – immer auf das Empfänger-Objekt der ursprünglichen<br />

Message bezieht.<br />

Vereinbaren wir diese vier Klassen dagegen in der Form

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!