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.

5.3 Vereinbarung einer Klasse 85<br />

Hinweis: Ist bei der Vereinbarung einer Klasse keine Instanz-Variable festzulegen, so muß<br />

dem Message-Selektor “instanceVariableNames:” das Argument ’ ’ folgen.<br />

Anschließend richten wir die beiden Methoden “durchschnitt” und “anzeigenDurchschnittswert”<br />

mit Hilfe der Menü-Option “New Method” des Menüs “Methods” ein.<br />

Hinweis: Soll eine von uns bereits eingerichtete Klasse wieder gelöscht werden, so muß<br />

sichergestellt sein, daß die zu löschende Klasse keine Unterklassen hat und daß keine Instanzen<br />

dieser Klasse existieren.<br />

Gibt es z.B. eine Instanz “InWerteErfassung11”, die aus der zu löschenden Klasse instanziiert<br />

wurde, so ist die Anforderung “InWerteErfassung11 := nil” – vor der Löschung der<br />

Klasse – zur Ausführung zu bringen.<br />

Wie wir uns alle Instanzen einer Klasse anzeigen lassen können, geben wir im Abschnitt<br />

9.4.2 an.<br />

Um zu prüfen, ob “InWerteErfassung11” bereits aus “InWerteErfassung” instanziiert wurde,<br />

kann z.B. die Anforderung<br />

InWerteErfassung11 isMemberOf: InWerteErfassung<br />

gestellt werden.<br />

Haben wir die Klassen- und Methoden-Vereinbarung in der soeben geschilderten<br />

Form vorgenommen, so liegt die folgende Situation vor:<br />

WerteErfassung<br />

Instanz−Variablen:<br />

Methoden:<br />

werteBag<br />

initialisierenErfassung<br />

erfassenWert:<br />

entfernenErfassungsfenster:<br />

festlegenUeberschrift:<br />

durchfuehrenErfassung<br />

anzeigenWerte<br />

bereitstellenWerte<br />

sammelnWerte:<br />

InWerteErfassung<br />

Instanz−Variablen:<br />

Methoden:<br />

durchschnittswert<br />

durchschnitt<br />

anzeigenDurchschnittswert<br />

Abbildung 5.7: “InWerteErfassung” als Unterklasse von “WerteErfassung”<br />

Während die Klasse “WerteErfassung” die Lösung von PROB-1-1 darstellt, spiegelt<br />

“InWerteErfassung” die gemeinsame Lösung von PROB-1-1 und PROB-1-2 wider.<br />

Durch eine Instanziierung von “InWerteErfassung” wird eine Instanz eingerichtet,<br />

die die beiden Instanz-Variablen “werteBag” und “durchschnittswert” umfaßt und<br />

die sowohl die in “InWerteErfassung” als auch die in “WerteErfassung” vereinbarten<br />

Methoden kennt.<br />

Nach der Erfassung der Punktwerte kann der Durchschnittswert errechnet und mit-

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!