herencia, abstraccion y polimorfismo

13
Ejemplo de Herencia, Abstracción y Polimorfismo Jorge García Hernández Por:

Upload: jorge-garcia-hrnandez

Post on 06-Jun-2015

79 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: Herencia, abstraccion y polimorfismo

Ejemplo de Herencia,Abstracción y Polimorfismo

Jorge García Hernández

Por:

Page 2: Herencia, abstraccion y polimorfismo

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() {}}

Page 3: Herencia, abstraccion y polimorfismo
Page 4: Herencia, abstraccion y polimorfismo

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() {} }

Page 5: Herencia, abstraccion y polimorfismo
Page 6: Herencia, abstraccion y polimorfismo

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() {} }

Page 7: Herencia, abstraccion y polimorfismo
Page 8: Herencia, abstraccion y polimorfismo

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() {}}

Page 9: Herencia, abstraccion y polimorfismo
Page 10: Herencia, abstraccion y polimorfismo

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);}

}

Page 11: Herencia, abstraccion y polimorfismo
Page 12: Herencia, abstraccion y polimorfismo

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

Page 13: Herencia, abstraccion y polimorfismo

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() {}}