jueves, 10 de abril de 2014

(Java) Variable "Instanceof"

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