/** * Constructor de la clase Animal * @param nombre */ public Animal (String nombre){ this.nombre=nombre; System.out.println("Constructor Animal, " + "nombre del animal : "+this.nombre); }
/** * Retorna el valor de nombre * @return */ public String getNombre(){ return nombre; }
/** * Metodo Abstracto tipoAnimal, la implementacin depende * de las clases concretas que extiendan la clase Animal */ public abstract void tipoAnimal();
}
package animal; import java.util.Scanner; /** * * @author usuario */ public class Test {
public static void main (String[] arg){
/**Creamos anim, un objeto Perro de tipo Animal*/ Animal anim= new Perro("goliath") ; anim.tipoAnimal(); anim.comunicarse(); System.out.println();
/**Creamos perro, un objeto Perro de tipo Perro*/ Perro perro=new Perro("hercules"); perro.tipoAnimal(); System.out.println();
/**Creamos animalPolimorfico, un objeto perro de tipo Animal * asignamos una referencia ya existente*/ Animal animalPolimorfico=perro; animalPolimorfico.tipoAnimal(); System.out.println();
/**reasignamos la referencia del objeto anim a el objeto perro * esto es valido ya que ambos son de tipo Perro*/ perro=(Perro) anim; perro.tipoAnimal(); System.out.println();
/**Creamos gat, un objeto Gato de tipo Animal*/ Animal gat=new Gato("pichi"); gat.tipoAnimal(); gat.comunicarse(); System.out.println();
/**Creamos cat, un objeto Gato de tipo IAnimal * Para esto aplicamos polimorfismo usando la Interface*/ IAnimal cat = new Gato("pitufa"); cat.comunicarse();
System.out.println("\nConstante en la interfaz Animal : "+IAnimal.valor); } }
package animal;
/** * * @author usuario */ public class Perro extends Animal { /** * @param nombre */ public Perro(String nombre) { super(nombre); System.out.println("Constructor perro, nombre : "+nombre); }
public void tipoAnimal() { System.out.println("Tipo Animal : Es un Perro"); }
public void comunicarse(){ System.out.println("Metodo comunicarse : El perro Ladra... Guau Guau"); } }
package animal; import java.util.Scanner; /** * * @author usuario */ public class Test {
public static void main (String[] arg){
/**Creamos anim, un objeto Perro de tipo Animal*/ Animal anim= new Perro("goliath") ; anim.tipoAnimal(); anim.comunicarse(); System.out.println();
/**Creamos perro, un objeto Perro de tipo Perro*/ Perro perro=new Perro("hercules"); perro.tipoAnimal(); System.out.println();
/**Creamos animalPolimorfico, un objeto perro de tipo Animal * asignamos una referencia ya existente*/ Animal animalPolimorfico=perro; animalPolimorfico.tipoAnimal(); System.out.println();
/**reasignamos la referencia del objeto anim a el objeto perro * esto es valido ya que ambos son de tipo Perro*/ perro=(Perro) anim; perro.tipoAnimal(); System.out.println();
/**Creamos gat, un objeto Gato de tipo Animal*/ Animal gat=new Gato("pichi"); gat.tipoAnimal(); gat.comunicarse(); System.out.println();
/**Creamos cat, un objeto Gato de tipo IAnimal * Para esto aplicamos polimorfismo usando la Interface*/ IAnimal cat = new Gato("pitufa"); cat.comunicarse();
System.out.println("\nConstante en la interfaz Animal : "+IAnimal.valor); } }