Hey,
verstehe an dem Code das Wort "Point other" nicht ganz. Haben gelernt in der Klammer der Methode steht ein Parameter, aber für was steht das wort point in der Klammer? wär cool, wenn mir jemand helfen könnte. Lg
class Point
{
double x1;
double y1;
und die variablen x2 und y2 in der Methode werden doch eigentlich gar nicht gebraucht oder? also des Programm würde genauso funktionieren, wenn x2 und y2 einfach weggelassen werden?
und die variablen x2 und y2 in der Methode werden doch eigentlich gar nicht gebraucht oder? also des Programm würde genauso funktionieren, wenn x2 und y2 einfach weggelassen werden?
Ja. In der Berechnung wird einmal auf die Koordinaten in "this" zugegriffen und auf die Koordinaten in "other".
Edit: Tatsächlich wird auch "Ergebnis" nicht benötigt (außerdem sollte ergebnis klein geschrieben werden, wie alle Variablennamen). Man könnte auch direkt die Berechnung zurückgeben: return Math.sqrt((this.x1-other.x1)*(this.x1-other.x1)+(this.y1-other.y1)*(this.y1-other.y1));
Ja. In der Berechnung wird einmal auf die Koordinaten in "this" zugegriffen und auf die Koordinaten in "other".
Edit: Tatsächlich wird auch "Ergebnis" nicht benötigt (außerdem sollte ergebnis klein geschrieben werden, wie alle Variablennamen). Man könnte auch direkt die Berechnung zurückgeben: return Math.sqrt((this.x1-other.x1)*(this.x1-other.x1)+(this.y1-other.y1)*(this.y1-other.y1));
kannst du mir vllt nochmal erklären, wie du des gemeint hast mit objekt übergeben? also ich versteh, dass other den datentyp point hat, aber ist dann other automatisch schon ein objekt? weil ich dachte objekte werden immer mit new erzeugt..und sind this.x1 und other.x1 dann einfach beides objekte von point?
Es gibt ja nur primitive Datentypen wie int und double und Referenztypen in Java. Da es sich bei Point offensichtlich nicht um einen primitiven Datentyp handelt, muss es ein Referenztyp sein. Und ja, Referenztypen werden i.d.R. durch die new Anweisung erzeugt. In der Deklaration des Parameters wird allerdings nur angegeben um welchen Typen es sich handelt. Hier muss nichts erzeugt werden, denn der eigentliche Wert wird ja erst beim Aufruf der Methode übergeben.
Bei dem Beispiel oben wird eine Variable p2 vom Typ Pointer an die Methode p1.distance() übergeben.
this.x1 und other.x1 sind Attribute von this und other (jeweils vom Typ Pointer) vom Typ double.