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 ) {
public Punto ( int x, int y ) {
this.x = x;
this.y = y;
this.y = y;
}
// Distancia al eje de coordenadas
public float distancia() {
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 ) {
public Punto3D ( int x, int y, int z ) {
super(x,y);
this.z = z;
this.z = z;
}
// Distancia al eje de coordenadas
public float distancia() {
// 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) {
public static void main(String[] args) {
Punto p2 = new Punto(0,0);
Punto p3 = new Punto3D(0,0,10);
System.out.println(is3D(p2));
Punto p3 = new Punto3D(0,0,10);
System.out.println(is3D(p2));
}
}
copiado
ResponderEliminar