Академический Документы
Профессиональный Документы
Культура Документы
Herencia
Clases Abstractas y Concretas
• Existen circunstancias en las que se necesita crear clases que
encapsulen el comportamiento general de ciertas entidades. Estas
clases por si mismas no pueden ser instanciadas como objetos. Ellas
simplemente proporcionan una interfaz que la clase derivada hereda
e implementa
• Estas clases son útiles para describir a un nivel más alto el
comportamiento general de las entidades del mundo real. A este tipo
de clases se le conoce como clases abstractas.
• Las clases que implementan y de las cuales se instancian objetos se
le conoce como clases concretas.
Ejemplo de Clases Abstractas y Concretas
Vehículo
Aeroplano
Bicicleta Automóvil
Clases
concretas
Jerarquía, Herencia y Agregación
• La jerarquía se refiere a la clasificación u ordenamiento de abstracciones
• Las abstracciones que conforman un sistema completo están basadas en un orden particular,
las Superclases dan origen a subclases.
• Es posible para una entidad contener a otra entidad, Esto es denominado como una
agregación o una relación “tiene un” entre entidades
Superclase
Vehículo
Automóvil
Europeo Asiático
Siciliano Napolitano
Ejemplos de Herencia Múltiple
Animal
Profesor Estudiante
Animal Animal
Terrestre Acuático
Preparador
Animal
Anfibio
Ciclo de vida de los objetos
Creación:
Reserva de memoria: Empleado x = crear Creaci
Empleado (···) ón
Manipulación:
Acceso a atributos: x . nombre
Invocación de métodos: x . salario_neto ( ) Manipul
ación
Destrucción: Destrucci
ón
Liberar la memoria Destruir partes internas, si
las hay Eliminar referencias al objeto destruido
(p.e. jefe)
Ventajas de la Oop
• Reusabilidad
– Cuando el comportamiento es heredado desde otra entidad, no
se necesita reescribir el código
– Esto ahorra costos de mantenimiento
– Proporciona una forma eficiente de compartir el mismo código
• Desarrollo Rápido de Prototipos
– Cuando un sistema de software se diseña básicamente con
componentes reutilizables, el tiempo de desarrollo se puede
usar para comprender el nuevo sistema
Beneficios de la Oop
• Promete elevar los niveles de productividad de los
programadores, software de mejor calidad y menor costo de
mantenimiento