-
Notifications
You must be signed in to change notification settings - Fork 1
/
Punto2D.java
72 lines (69 loc) · 1.52 KB
/
Punto2D.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
package punto2D3DiPunto;
import static java.lang.Math.pow;
import static java.lang.Math.sqrt;
public class Punto2D implements Punto{
private Double x;
private Double y;
// constructores
public Punto2D(double x, double y){
setX(x);
setY(y);
}
public Punto2D()
{ this (0,0) ;
}
public void setX(Double x) {
this.x = x;
}
public void setY(Double y) {
this.y = y;
}
// distancia y modulo
public double distancia(Object obj){
Punto2D p = (Punto2D) obj;
return sqrt( pow(x-p.x,2) + pow(y-p.y,2) );
}
public double distanciaAlOrigen(){
return sqrt( pow(x,2) + pow(y,2) );
}
// desplazamiento
public void desplazamiento(Object obj){
Punto2D p = (Punto2D) obj;
this.x+=p.x;
this.y+=p.y;
return;
}
// toString
public String toString(){
return "x= " + x + " y= " + y ;
}
// equals
public boolean equals(Object obj){
if (this == obj) return true;
if (obj == null) return false;
if (getClass() != obj.getClass()) return false;
Punto2D otro = (Punto2D) obj;
if (Double.doubleToLongBits(y) != Double
.doubleToLongBits(otro.y)) return false;
if (Double.doubleToLongBits(x) != Double
.doubleToLongBits(otro.x)) return false;
return true;
}
// clone
public Punto2D clone(){
return new Punto2D(x, y);
}
// getters & setters
protected double getX(){
return x;
}
protected final void setX(double x) {
this.x = x;
}
protected final double getY(){
return y;
}
protected final void setY(double y){
this.y = y;
}
}