Les comparto un ejemplo:
public class MyClass {
public static void main(String args[]) {
//INSTANCIAS DE LAS CLASES
Pikachu pikachu = new Pikachu("Pikachu");
Charmander charmander = new Charmander("Charmander");
pikachu.ataqueEspecial();
charmander.ataqueEspecial();
}
}
//CLASE ABSTRACTA POKEMON (PRIMER NIVEL)
abstract class Pokemon {
public abstract void ataqueEspecial();
}
//CLASES ABSTRACTAS QUE HEREDAN DE POKEMON (SEGUNDO NIVEL)
abstract class Electrico extends Pokemon {
public abstract void ataqueEspecial();
}
abstract class Fuego extends Pokemon {
public abstract void ataqueEspecial();
}
//CLASES QUE HEREDAN DE ELECTRICO Y FUEGO (TERCER NIVEL)
class Pikachu extends Electrico {
private String name;
public Pikachu(String name) {
this.name = name;
}
public void ataqueEspecial() {
System.out.println(name + " usa Impact Trueno!!");
}
}
class Charmander extends Fuego {
private String name;
public Charmander(String name) {
this.name = name;
}
public void ataqueEspecial() {
System.out.println(name + " usa Lanzallamas!!");
}
}```
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?