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.

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

Hinweis: Es ist zu beachten, daß sämtliche Instanzen der zu löschenden Klassen zuvor<br />

ebenfalls gelöscht werden müssen, indem die Pseudovariable “nil” – mittels einer Zuweisung<br />

wie z.B. “InWerteErfassung11 := nil” – geeignet zugeordnet wird.<br />

Wie wir alle Instanzen einer Klasse anzeigen und löschen lassen können, geben wir in<br />

Abschnitt 9.4.2 an.<br />

Wird anschließend die Klasse “OrWerteErfassung” als unmittelbare Unterklasse<br />

von “NoWerteErfassung” eingerichtet und die Methode “zentrum” in dieser Klasse<br />

festgelegt, so erscheint die Meldung “You are redefining a superclass method”. Diese<br />

Meldung weist darauf hin, daß eine gleichnamige Methode in einer übergeordneten<br />

Klasse überdeckt wird. Da wir dies beabsichtigen, bestätigen wir diese Meldung.<br />

Entsprechend gehen wir vor, wenn wir “InWerteErfassung” als Unterklasse von<br />

“OrWerteErfassung” vereinbart haben und die Methode “zentrum” innerhalb der<br />

Klasse “InWerteErfassung” festgelegt werden soll.<br />

Auf der Basis der oben angegebenen Klassen-Hierarchie ist – genau wie beim Lösungsplan<br />

von PROB-4 – die Ausführung der Methode “zentrum” abhängig davon,<br />

durch welche Instanziierung das Empfänger-Objekt der Message “zentrum” zuvor<br />

eingerichtet wurde.<br />

Wie angestrebt, ist es gegenüber der Lösung von PROB-4 jetzt auch zusätzlich<br />

möglich, den Median und den Modus für intervallskalierte Daten und den Modus<br />

für ordinalskalierte Daten anzufordern, obwohl diese Methoden jeweils nur innerhalb<br />

einer einzigen Klasse vereinbart sind.<br />

Sobald z.B. der Modus für ordinalskalierte Daten ermittelt werden soll, muß er<br />

für eine Instanz von “OrWerteErfassung” über die Message “modus” angefordert<br />

werden. Hierdurch gelangt die durch<br />

modus<br />

super zentrum<br />

innerhalb der Klasse “OrWerteErfassung” vereinbarte Methode “modus” zur Ausführung.<br />

Demzufolge wird – wegen der Verwendung der Pseudovariablen “super”<br />

– die Methode “zentrum” nicht in der Klasse “OrWerteErfassung”, sondern in der<br />

zugehörigen Super-Klasse gesucht. Da es sich bei dieser Super-Klasse um die Klasse<br />

“NoWerteErfassung” handelt, gelangt die dort vereinbarte Methode “zentrum” zur<br />

Ausführung, so daß der Modus für die zuvor erfaßten Daten der Instanz errechnet<br />

wird.<br />

Sofern z.B. für intervallskalierte Daten der Median errechnet werden soll, ist die<br />

Message “median” an eine Instanz von “InWerteErfassung” zu richten. Dadurch<br />

wird die Methode “median”, die in der Form<br />

median<br />

super zentrum<br />

innerhalb der Klasse “InWerteErfassung” vereinbart ist, und folglich die Methode<br />

“zentrum” aus der Klasse “OrWerteErfassung” ausgeführt.<br />

Für eine Instanz von “InWerteErfassung” kann zusätzlich der Modus über den Aufruf<br />

der Methode “modus” ermittelt werden. Diese Methode wird in der übergeordneten<br />

Klasse “OrWerteErfassung” identifiziert, so daß mittels der Pseudovariablen<br />

“super” die Methode “zentrum” der Klasse “NoWerteErfassung” zur Ausführung<br />

gelangt.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!