… Herencia Múltiple Uso disciplinado de la herencia múltiple: clasificaciones disjuntas con clases padre en hojas de jerarquías alternativas
Animal Bípedo Cuadrúpedo Con Pelos Con Plumas Con Escamas Herbívoro Carnívoro cubertura cobertura cobertura comida nro patas nro patas comida Conejo
Principio de Sustitución El Principio de Sustitución de Liskow (1987) afirma que:
“Debe ser posible utilizar cualquier objeto instancia de una subclase en el lugar de cualquier objeto instancia de su superclase sin que la semántica del programa escrito en los términos de la superclase se vea afectado.”
… Principio de Sustitución Dado que los programadores pueden introducir código en las subclases redefiniendo las operaciones, es posible introducir involuntaria-mente incoherencias que violen el principio de sustitución
El polimorfismo que veremos a continuación no debería implementarse sin este principio
Polimorfismo El término polimorfismo se refiere a que una característica de una clase puede tomar varias formas
El polimorfismo representa en nuestro caso la posibilidad de desencadenar operaciones distintas en respuesta a un mismo mensaje
Cada subclase hereda las operaciones pero tiene la posibilidad de modificar localmente el comportamiento de estas operaciones
… Polimorfismo Ejemplo: todo animal duerme, pero cada clase lo hace de forma distinta dormir ? ?
… Polimorfismo Dormir() { en un árbol } Dormir() { sobrela espalda } Dormir() { sobre el vientre } Dormir() { } Animal dormir() León dormir() Oso dormir() Tigre dormir()
… Polimorfismo La búsqueda automática del código que en cada momento se va a ejecutar es fruto del enlace dinámico
El cumplimiento del Principio de Sustitución permite obtener un comportamiento y diseño coherente
Página anterior | Volver al principio del trabajo | Página siguiente |