05 Herencia 02
Herencia
Universidad Estatal de Milagro
Facultad de Ciencias de la Ingeniería
JORGE VINUEZA MARTíNEZ, MgTI.
Elaborado por: WILLIAM JAIR DAVILA VARGAS
¿Las clasesno son suficientes para conseguir
los objetivos de una aplicación?
COMO PODRÍA APLICAR :
REUTILIZACIÓN
Necesidad de mecanismos para generar código genérico:
CARÁCTERÍSTICAS
Independencia de larepresentación
Variación en estructuras de datos y algoritmos
EXTENSIBILIDAD
Necesidad de mecanismos para favorecer:
CARÁCTERÍSTICAS
“Principio abierto-cerrado” y “Principio Elección Única”
Estructuras de datos polimórficas
¿Las clases no son suficientes para conseguir
los objetivos de una aplicación?
¿Tiene sentido crear una clase a
partir de otra?
SOLUCIÓN: LA HERENCIA
LA HERENCIA
Laherencia es un mecanismo por el que se pueden crear
nuevas clases a partir de otras existentes.
Heredando, y posiblemente modificando, y/o añadiendo
operaciones
Heredando y posiblemente añadiendoatributos
PARA QUE SIRVE
La herencia organiza las clases en una estructura jerárquica
formando jerarquías de clases
TOMAR EN CUENTA
No es tan sólo un mecanismo para compartir código
Consistente con el sistema de tipos del lenguaje
TIPOS DE HERENCIA
Herencia simple
Una clase puede heredar de una única clase.
Ejemplo: Java, C#
Herencia múltiple
Una clase puede heredar de variasclases.
Clases forman un grafo dirigido acíclico
Ejemplos: Eiffel, C++
HERENCIA EN UN DIAGRAMA DE CLASES
Los atributos y métodos de la
superclase no se repiten en las
subclases
SALVO QUE SE HAYANREDEFINIDO
Todas las clases heredan, de manera implícita, de la
clase Object
ENTONCES
Si una clase B hereda de otra clase A entonces :
B incorpora la estructura (atributos) y
comportamiento(métodos) de la clase A
B puede incluir adaptaciones
B puede añadir nuevos atributos
B puede añadir nuevos métodos
B puede redefinir métodos
EJEMPLO: CLASE VEHÍCULO
Clase que representa un...
Regístrate para leer el documento completo.