viernes, 5 de marzo de 2010

El operador instanceof y cast en Java (05.03.01)

El operador instanceof permite determinar la clase de un objeto en tiempo de ejecución.
La operación cast permite modificar la clase de un objeto.

El siguiente ejemplo muestra el uso de instanceOf y como el metodo is3D(Punto p) puede reconocerlo

Punto.java
import java.lang.Math;
public class Punto {
protected int x, y;
public Punto ( int x, int y ) {
this.x = x;
this.y = y;
}
// Distancia al eje de coordenadas
public float distancia() {
return Math.sqrt(Math.pow(x,2.0)+Math.pow(y,2.0));
}
}

Punto3D.java

import java.lang.Math;
public class Punto3D extends Punto {
private int z;
public Punto3D ( int x, int y, int z ) {
super(x,y);
this.z = z;
}
// Distancia al eje de coordenadas
public float distancia() {
return Math.sqrt(Math.pow(x,2.0)+Math.pow(y,2.0)+Math.pow(z,2.0));
}
}


TestInstanceOf.java

public class TestInstanceOf {
public static boolean is3D(Punto p) {
return (p instanceof Punto3D);
}
public static void main(String[] args) {
Punto p2 = new Punto(0,0);
Punto p3 = new Punto3D(0,0,10);
System.out.println(is3D(p2));
}
}
Compartir:

1 comentario: