Clase Main
public class Main {
public static void main(String[] args) {
Patohule pHule;
pHule = new Patohule();
Patomadera pMadera;
pMadera = new Patomadera();
Patocabezaroja pCR;
pCR =new Patocabezaroja();
pHule.ejecuta();
System.out.println("---");
pMadera.ejecuta();
System.out.println("----");
pCR.ejecuta();
System.out.println("----");
}
}
Clase Madre
public class Pato {
public void muestra(String name){
System.out.println("Patito de "+name);
}
public void nada(){
System.out.println("Patito que nada");
}
public void quack(){
System.out.println("Patito que quackea");
}
public void vuela(){
System.out.println("Patito que vuela");
}
}
Tipos de Patos
public class Patocabezaroja extends Pato{
Patocabezaroja(){}
String name="Cabeza Roja";
public void ejecuta(){
muestra(name);
nada();
quack();
vuela();
}
}
public class Patomadera extends Pato{
Patomadera(){}
String name="Madera";
public void ejecuta(){
muestra(name);
nada();
}
}
public class Patohule extends Pato{
Patohule(){}
String name="Hule";
public void ejecuta(){
muestra(name);
nada();
quack();
}
}