1CFS-PROG-U04-Algumos Ejercicios SOLUCIONADOS (E3-E11)
1CFS-PROG-U04-Algumos Ejercicios SOLUCIONADOS (E3-E11)
1CFS-PROG-U04-Algumos Ejercicios SOLUCIONADOS (E3-E11)
1/11
UNIDAD 4. Programación Modular, Clases y Objetos.
// Fichero Empleado.java
public class Empleado {
private String nombre;
private int edad;
private double sueldo;
private static passwordComun = "123";
2/11
UNIDAD 4. Programación Modular, Clases y Objetos.
}
}
}
// Fichero PruebaPuntos.java
public class PruebaPuntos {
public static void main(String[] args) {
Punto2D p1 = new Punto2D(3, 2.5);
System.out.println( p1.x, p2.y );
}
}
// Fichero Punto2D.java
public class Punto2D {
public double x, y;
3/11
UNIDAD 4. Programación Modular, Clases y Objetos.
4/11
UNIDAD 4. Programación Modular, Clases y Objetos.
// Fichero Punto2D.java
public class Punto2D {
public double x, y;
5/11
UNIDAD 4. Programación Modular, Clases y Objetos.
E8. Nos damos cuenta que si queremos imprimir muchos puntos, ahora
mismo es un poco tedioso. ¿Cómo conseguir que al pasar un punto se
imprima "(x,y)"? Sabes que Object, como buen padre, presta sus
métodos incluido toString() a todos sus hijos, incluido Punto2D. Por
tanto, cambiamos la última línea del código de prueba anterior por:
System.out.println( p1 + " + " + p2 + " = " + p3 );
6/11
UNIDAD 4. Programación Modular, Clases y Objetos.
E9. Ahora necesitas saber si dos Punto2D son iguales para poder
compararlos:
p2.setX( p1.getX() );
p2.setY( p1.getY() );
System.out.println( p1 + " es igual a " p2 + "? " + (p1 == p2) );
7/11
UNIDAD 4. Programación Modular, Clases y Objetos.
// La versión correcta
@Override
public boolean equals(Object o) {
if( this == o ) return true; // Son el mismo objeto
if( o instanceof Punto2D ) {
Punto2D p = (Punto2D)o;
return x == p.x && y == p.y;
}
else
return false; // Son objetos distintos
}
8/11
UNIDAD 4. Programación Modular, Clases y Objetos.
class Punto2D {
public double[] c;
9/11
UNIDAD 4. Programación Modular, Clases y Objetos.
public String toString(){ return "(" + c[0] + ", " + c[1] + ")"; }
@Override
public boolean equals(Object o) {
if( this == o ) return true; // Son el mismo objeto
if( o instanceof Punto2D ) {
Punto2D p = (Punto2D)o;
return c[0] == p.c[0] && c[1] == p.c[1];
}
else
return false; // Son objetos distintos
}
}
10/11
UNIDAD 4. Programación Modular, Clases y Objetos.
objeto.
11/11