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.

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

Innerhalb des Lösungsplans ist daher festzulegen, daß durch den Message-Selektor<br />

“zentrum” die Methode “durchschnitt” dann auszuführen ist, wenn das Empfänger-<br />

Objekt der Message “zentrum” eine Instanz der Klasse “InWerteErfassung” ist.<br />

Wenn es sich dagegen beim Empfänger-Objekt der Message “zentrum” um eine<br />

Instanz der Klasse “OrWerteErfassung” handelt, ist die Methode “median” auszuführen.<br />

Diese Forderung ist erfüllbar, weil <strong>SMALLTALK</strong> den Polymorphismus (Mehrgestaltigkeit)<br />

von Messages wie folgt unterstützt:<br />

ˆ Da das Empfänger-Objekt einer Message die korrespondierende Methode zunächst<br />

innerhalb der Klasse sucht, zu deren Instanzen dieses Objekt zählt,<br />

sind gleichnamige Methoden innerhalb unterschiedlicher Klassen möglich.<br />

Ein und dieselbe Message kann daher die Ausführung völlig unterschiedlicher<br />

Methoden bewirken – je nachdem, aus welcher Klasse das Empfänger-Objekt<br />

der Message instanziiert wurde.<br />

Die polymorphe Wirkung einer Message beruht somit darauf, daß dynamisch,<br />

d.h. zum Zeitpunkt der Ausführung einer Anforderung, die jeweilige Methode<br />

durch das Empfänger-Objekt bestimmt wird. Dabei wird der Ausgangspunkt<br />

für die Suche der Methode durch diejenige Klasse festgelegt, aus der<br />

das Empfänger-Objekt der Message instanziiert wurde.<br />

ˆ Sofern gleichnamige Methoden in einander hierarchisch untergeordneten Klassen<br />

vorliegen, gilt:<br />

Die Methode, die in einer untergeordneten Klasse vereinbart ist, überdeckt jede<br />

gleichnamige Methode, die innerhalb einer übergeordneten Klasse festgelegt<br />

ist. Dies liegt daran, daß vom Empfänger-Objekt immer die zuerst identifizierte<br />

Methode ausgeführt wird, unabhängig davon, ob eine gleichnamige<br />

Methode in einer überordneten Klasse vereinbart ist.<br />

Hinweis: Unter Polymorphismus ist allgemein die Eigenschaft zu verstehen, daß ein Name<br />

verschiedene Dinge mit unterschiedlichen Formen bezeichnen kann.<br />

Da wir die Methode “durchschnitt” in der Klasse “InWerteErfassung” festgelegt haben,<br />

können wir die Berechnung des Durchschnittwertes mittels der Message “zentrum”<br />

dadurch erreichen, daß wir die Methode “zentrum” wie folgt innerhalb der<br />

Klasse “InWerteErfassung” vereinbaren:<br />

zentrum<br />

self durchschnitt<br />

Zur Berechnung des Medians – mittels der Message “zentrum” – läßt sich entsprechend<br />

verfahren. Dazu ist die Methode “zentrum” wie folgt innerhalb der Klasse<br />

“OrWerteErfassung” zu vereinbaren:<br />

zentrum<br />

self median

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!