25.6
Objekte und Referenzen
|
|
![]() |
|
Wird ein
Objekt p1 der Klasse Punkt erzeugt, so ist der "Variablenwert" von
p1
eine Adresse. Diese Adresse erst beinhaltet das Objekt. Für jedes Objekt
werden Kopien der Attribute angelegt. Von den Objekt-Methode gibt es in
den Objekten keine Kopien. Damit eine Methode wie z.B. verschiebe() für
das Objekt p1 aufgerufen werden kann, muss das Objekt wissen, von welcher
Klasse es eine Instanz ist. p1 "weiß" also, dass er ein Punkt ist und
deshalb verschoben, bzw. am Ursprung gespiegelt werden kann. Dass in p1 und p2 nur Referenzen abgelegt sind, hat für das Vergleichen von p1 mit p2 Konsequenzen. Der Vergleich
p1==p2
liefert
true, wenn p1 und p2
auf das gleiche Objekt, und damit auf den gleichen Speicherplatz
verweisen. In unserem Fall würde
false
geliefert. Um die Objekte zu vergleichen, d.h. um zu erfahren, ob die
Objektattribute die gleichen Werte haben benutz man die Methode
equals().
Um zu erfahren, ob die beiden Punkte p1 und p2 die gleichen Koordinaten
haben, wertet man den Ausdruck
p1.equals(p2); aus. In unserem
Fall wird auch hier
false
geliefert. |
|
zu den Übungen | |
zur Startseite | www.pohlig.de (C) MPohlig 2003 |