//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