//Archivo Personaje.java
package com.carmeth.core.polimorfismo;
//Las clases abstractas no se pueden instanciar, al menos uno de sus metodos debe ser abstracto
public abstract class Personaje{
//Metodos abstractos
public abstract void pelear();
public abstract void saltar();
public abstract void pegar();
//Método concretos
public void gameOver(){
System.out.println("Juego terminado...");
}
}
//Archivo Ryu.java
package com.carmeth.core.polimorfismo;
public class Ryu extends Personaje{
public void pelear(){
System.out.println("Lanzar bola de poder");
}
public void saltar(){
System.out.println("Giro mortal");
}
public void pegar(){
System.out.println("Pega con golpe doble");
}
}
//Archivo Santo.java
package com.carmeth.core.polimorfismo;
public class Santo extends Personaje{
public void pelear(){
System.out.println("Ataca con quebradora");
}
public void saltar(){
System.out.println("Salta desde la tercera cuerda");
}
public void pegar(){
System.out.println("Pega con tope");
}
}
//Archivo Peleador.java
package com.carmeth.core.polimorfismo;
public abstract class Peleador extends Personaje{
public void pelear(){
//
}
public void pegar(){
//
}
//se puede omitir la declaracion de los metodos abstractos
}
No hay comentarios:
Publicar un comentario