Hallo,
ich habe eine kleine Frage zu der Aufgabe hier.
In der Klasse Line hat man den Konstruktor
1. Woher weiß, ich dass hier ein neues Objekt erzeugt werden muss? Z.B. deklariere ich eine Variable Point ohne ein Objekt zu erzeugen. Warum wäre das erlaubt?
2. Was wäre eine alternative Schreibweise zu dem oben genanannten Konstruktor?
begin.getX()=x1; würde z.B. nicht gehen.
ich habe eine kleine Frage zu der Aufgabe hier.
In der Klasse Line hat man den Konstruktor
Java:
public Line(double x1,double y1,double x2, double y2){
this(new Point(x1,y1),new Point(x2,y2));
}
1. Woher weiß, ich dass hier ein neues Objekt erzeugt werden muss? Z.B. deklariere ich eine Variable Point ohne ein Objekt zu erzeugen. Warum wäre das erlaubt?
2. Was wäre eine alternative Schreibweise zu dem oben genanannten Konstruktor?
begin.getX()=x1; würde z.B. nicht gehen.
Java:
public class Point {
private double x;
private double y;
public Point(double x, double y){
this.x=x;
this.y=y;
}
public Point(){
this(0,0);
}
public double getX(){
return this.x;
}
public double getY(){
return this.y;
}
public void move(double x, double y){
this.x+=x;
this.y+=y;
}
public void print(){
System.out.println("("+this.x+", "+this.y+")");
}
}
Java:
public class Line {
private Point begin;
private Point end;
public Line(Point p1,Point p2){
this.begin=p1;
this.end=p2;
}
public Line(double x1,double y1,double x2, double y2){
this(new Point(x1,y1),new Point(x2,y2));
}
public Point getBegin(){
return begin;
}
public Point getEnd(){
return end;
}
public double length(){
double x=Math.pow(end.getX()-begin.getX(), 2);
double y=Math.pow(end.getY()-begin.getY(), 2);
return Math.sqrt(x+y);
}
}