Hace un mes tuve la presentacion de un tema llamado Casting y por casualidad me encontre este ejemplo que muestra como se puede cambiar las Superclases en clases y el como por decirlo asi, "Checar que sean de tal o cual clase Usaremos "instanceof"
public class Animal {}
class Perro extends Animal {
public static void main (String[] args){//Metodo
Perro toby = new Perro();//Objeto
if (toby instanceof Animal)//si toby es un animal se imprime
System.out.println("toby es un perro y también un animal");
Animal chusa = new Perro(); /* Creamos un objeto Perro pero que va a obtener las caracteristicas de un Animal, sin embargo ya no podra realizar acciones de un perro */
downCast(chusa);
}
public static void downCast(Animal a){
if (a instanceof Perro) // Si A es un perro va a ladrar
((Perro)a).ladrar(); // Se vuelve a convertir el objeto "a" al tipo Perro para poder acceder al metodo ladrar().
}
public static void ladrar(){ //Metodo ladrar
System.out.println("Guau");
}
}
No hay comentarios.:
Publicar un comentario