miércoles, 8 de junio de 2011

Java Semana 4 Dia 15 Ejemplo de código 1 (Polimorfismo; Persona.java, Bombero.java, Cientifico.java, Policia.java, TestPersona.java)

//Archivo Persona.java

package com.carmeth.core.polimorfismo;

public class Persona{

    private String name;
    private long id;
    private String mail;

    public void correr(){
        System.out.println("La persona ha comenzado a correr");
    }
   
    public void setName(String s){
        name=s;
    }
   
    public void setId(long i){
        id=i;
    }

    public void setMail(String m){
        mail=m;
    }

    public String getName(){
        return name;
    }

    public long getId(){
        return id;
    }

    public String getMail(){
        return mail;
    }
}


//Archivo Bombero.java

package com.carmeth.core.polimorfismo;

public class Bombero extends Persona{

    private double sueldo;
   
    public void correr(){
        System.out.println("El bombero ha empezado a correr");
    }

    public void run(){
        System.out.println("+++Bombero corriendo como persona++");
        super.correr();
    }

    public void setSueldo(double s){
        sueldo=s;
    }

    public double getSueldo(){
        return sueldo;
    }
}


//Archivo Cientifico.java

package com.carmeth.core.polimorfismo;

public class Cientifico extends Persona{
    private int numPremios;
   
    public void correr(){
        System.out.println("El cientifico ha comenzado a correr");
    }

    public void setNumPremios(int n){
        numPremios=n;
    }

    public int getNumPremios(){
        return numPremios;
    }
}



//Archivo Policia.java

package com.carmeth.core.polimorfismo;

public class Policia extends Persona{

    private String arma;

    public void setArma(String a){
        arma=a;
    }
   
    public String getArma(){
        return arma;
    }
}



//Archivo TestPersona.java

package com.carmeth.core.polimorfismo;

public class TestPersona{
    public static void main (String []args){
        Persona per = new Persona();
        per.correr();
       
        Persona b4 = (Persona)new Bombero(); //up casting
        Bombero b = new Bombero();
        b.correr();
        b.run();
        b.setName("Juan");
        b.setSueldo(1000);

        Cientifico c = new Cientifico();
        c.correr();

        Policia poli = new Policia();
        poli.correr();

        Persona b2 = new Bombero();
        b2.correr();
        //b2.setSueldo(5000); La instancia b2 solo puede ocupar los metodos que esten definidos en la interfaz de Persona
       
        Persona c2 =  new Cientifico();
        c2.correr();
       
        Persona poli2 = new Policia();
        poli2.correr();
       
        Persona [] people = {new Persona(), new Bombero(), new Cientifico()};
        for(Persona p: people){
            p.correr();
        }
        Bombero b21 = (Bombero)b2; //Down Casting
    }
}

No hay comentarios:

Publicar un comentario