Ejemplo de Herencia,Abstracción y Polimorfismo
Jorge García Hernández
Por:
A continuación, vamos a hacer un ejemplo de herencia, y polimorfismo, comenzamos creando la siguiente clase llamada HerAbsPol:
/*Jorge García Hernández*/package herabspol;public class HerAbsPol {
public void tocar() {System.out.println("Instrumento.tocar()");
} public String tipo() {
return "Instrumento"; } public void afinar() {}}
Creamos otra clase en NetBeans llamada Guitarrapackage herabspol;
public class Guitarra extends HerAbsPol { public void tocar() {
System.out.println("Guitarra.tocar()"); } public String tipo() { return "Guitarra"; } public void afinar() {} }
Posteriormente creamos la clase Piano:
package herabspol;
public class Piano extends HerAbsPol{ public void tocar() {
System.out.println("Piano.tocar()"); } public String tipo() { return "Piano"; } public void afinar() {} }
Ahora la clase Saxofon:
package herabspol;
public class Saxofon extends HerAbsPol{ public void tocar() {
System.out.println("Saxofon.tocar()"); } public String tipo() { return "Saxofon"; } public void afinar() {}}
Por último creamos la clase principal:
package herabspol;public class Musica { static void afinar(HerAbsPol i) {
i.tocar(); } static void afinarTodo(HerAbsPol[] e) {
for(int i = 0; i < e.length; i++) afinar(e[i]);}
public static void main(String[] args) {HerAbsPol[] orquesta = new HerAbsPol[5];int i = 0;orquesta[i++] = new Guitarra();orquesta[i++] = new Piano();orquesta[i++] = new Saxofon();afinarTodo(orquesta);}
}
Nos podemos dar cuenta de la aplicación de la herencia con la sintaxis:extendsY en el caso del polimorfismo, lo aplicamos al redefinir para cada clase los métodos utilizados en la clase principal
Y para la abstracción usaremos la palabra reservada abstract:
package herabspol;abstract class HerAbsPol {public abstract void tocar() {
System.out.println("Instrumento.tocar()"); } public String tipo() {
return "Instrumento"; } public abstract void afinar() {}}
Top Related