View
451
Download
2
Embed Size (px)
Citation preview
Programación O.O.
Definición de Herencia (Para que Sirve)
Pilares de POO
Tipos de Herencia
Ejemplos
Ejercicios en Clase
Herencia – Pilar de la POO
Definición
Una de las características más complejas de Java es la
reutilización de código. Pero, para ser revolucionario, se
debe poder hacer más que copias de código y cambios.
Como todo en Java, el problema se resuelve con las
clases. Para reusar código creamos nuevas clases pero,
en lugar de partir de cero partimos de clases,
relacionadas con nuestra clase, que han sido ya creadas
y depuradas.
Herencia – Pilar de la POO
Definición
El truco está en usar las clases sin ensuciar el códigoexistente, y para esto existen dos formas (Sencilla yCompleja):
Composición
Herencia
Herencia : La herencia es un mecanismo que permite ladefinición de una clase a partir de la definición de otraya existente. La herencia permite compartirautomáticamente métodos y datos entre clases, subclasesy objetos.
Herencia – Pilar de la POO
Definición
Tipos de Herencia
Herencia Simple : Una clase solo puede tener un padre o
heredar de una clase padre.
Herencia Múltiple: Una clase puede heredar de varias
clases Padre.
Dinero
Moneda
Padre Madre
Hijo
Herencia – Pilar de la POO
Ejemplos
Herencia Simple
El ejemplo que proponemos es un caso en el que vamos asimular el comportamiento que tendrían los diferentesintegrantes de la selección Española de futbol; tanto losFutbolistas como el cuerpo técnico (Entrenadores, Masajistas,etc…). Para simular este comportamiento vamos a definir tresclases que van a representaran a objetos Futbolista,Entrenador y Masajista. De cada unos de ellos vamos anecesitar algunos datos que reflejaremos en los atributos y unaserie de acciones que reflejaremos en sus métodos. Estosatributos y métodos los mostramos en el siguiente diagramade clases:
Herencia – Pilar de la POO
Ejemplos
Herencia Simple
Que tienen en común estas clases?
Herencia – Pilar de la POO
Ejemplos
Herencia Simple
Que tienen en común estas clases?
Herencia – Pilar de la POO
Que tienen en común estas clases?
Herencia – Pilar de la POO
Ejemplos Herencia Simple
Lo que podemos ver en este punto es que estamos escribiendomucho código repetido ya que las tres clases tienen métodos yatributos comunes, de ahí y como veremos enseguida, decimosque la herencia consiste en “sacar factor común” para no escribircódigo de más, por tanto lo que haremos será crearnos una clasecon el “código que es común a las tres clases” (a esta clase se ledenomina en la herencia como “Clase Padre o SuperClase”) y elcódigo que es especifico de cada clase, lo dejaremos en ella,siendo denominadas estas clases como “Clases Hijas”, lascuales heredan de la clase padre todos los atributos y métodospúblicos o protegidos. Es muy importante decir que las claseshijas no van a heredar nunca los atributos y métodos privados de laclase padre, así que mucho cuidado con esto.
Herencia – Pilar de la POO
Ejemplos
Herencia Simple
Herencia – Pilar de la POO
Ejemplos
Herencia Simple
Herencia – Pilar de la POO
Ejemplos
Herencia Simple
Herencia – Pilar de la POO
Ejemplos
Herencia Simple
extends: Esta palabra reservada, indica a la clase hija cual va a ser su clasepadre, es decir que por ejemplo en la clase Futbolista al poner “public classFutbolista extends SeleccionFutbol” le estamos indicando a la clase ‘Futbolista’que su clase padre es la clase ‘SeleccionFutbol’ o dicho de otra manera paraque se entienda mejor, al poner esto estamos haciendo un “copy-pastedinámico” diciendo a la clase ‘Futbolista’ que se ‘copie’ todos los atributos ymétodos públicos o protegidos de la clase ‘SeleccionFutbol’.
protected: sirve para indicar un tipo de visibilidad de los atributos ymétodos de la clase padre y significa que cuando un atributo es ‘protected’o protegido, solo es visible ese atributo o método desde una de las claseshijas y no desde otra clase.
super: sirve para llamar al constructor de la clase padre. Quizás en el códigoque hemos puesto no se ha visto muy bien, pero a continuación lo mostramosde formas más clara, viendo el constructor de los objetos pasándole losatributos.
Herencia – Pilar de la POO
Ejemplos
Herencia Simple
Herencia – Pilar de la POO
Ejemplos
Herencia Simple
Herencia – Pilar de la POO
Ejemplos
Herencia Simple
Herencia – Pilar de la POO
Ejemplos
Herencia Simple