03.11.2013 Aufrufe

SMALLTALK K1ex127-.45ex51275ahler/Bothner

SMALLTALK K1ex127-.45ex51275ahler/Bothner

SMALLTALK K1ex127-.45ex51275ahler/Bothner

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

110 6 Einsatz von Basis-Methoden<br />

Gleichheit<br />

Stellen wir die Anforderungen<br />

InWerteErfassung11 := InWerteErfassung new.<br />

InWerteErfassung11 sammelnWerte: ’Jahrgangsstufe 11’<br />

sowie die Anforderungen<br />

InWerte11 := InWerteErfassung new.<br />

InWerte11 sammelnWerte: ’Jahrgangsstufe 11’<br />

und tragen in das Eingabefeld des Erfassungsfensters jeweils die Werte “32” und<br />

“37” ein, so ergibt sich die folgende Situation:<br />

InWerteErfassung11<br />

werteBag<br />

’32’ ’37’<br />

InWerte11<br />

werteBag<br />

’32’ ’37’<br />

Abbildung 6.2: Gleichheit von Objekten<br />

Die anschließende Prüfung auf Gleichheit in der Form<br />

InWerte11 = InWerteErfassung11<br />

bzw. in der Form<br />

InWerte11 bereitstellenWerte =<br />

InWerteErfassung11 bereitstellenWerte<br />

liefert – erstaunlicherweise – in beiden Fällen die Pseudovariable “false” als Ergebnis-<br />

Objekt.<br />

Dies liegt daran, daß beim Vergleich durch die Verwendung von “=” die Methode<br />

“==” zum Einsatz kommt, so daß eine Prüfung auf Identität erfolgt. Dieser Sachverhalt<br />

basiert darauf, daß die Methode “=” der Klasse “Object”, die mit der Methode<br />

“==” zur Prüfung auf Identität übereinstimmt, aktiviert wird. Dies liegt daran, daß<br />

innerhalb der Klasse “Bag” und deren Oberklasse “Collection” die Methode “=”<br />

nicht vereinbart ist.<br />

Kopieren<br />

Neben den Zuweisungen, bei denen nicht die Objekte, sondern Verweise kopiert<br />

werden, gibt es weitere Möglichkeiten, Kopiervorgänge auszulösen. Dazu dienen die<br />

beiden Basis-Methoden “shallowCopy” und “deepCopy”.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!