Вы находитесь на странице: 1из 9

Clases, Objetos y

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

Clases Vehículo Vehículo Vehículo


abstractas
Terrestre Aéreo Acuático

Vehículo de dos Vehículo de


Ruedas cuatro Ruedas

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.

• Puede existir la herencia múltiple, una subclase proveniente de varias superclases.

• Es posible para una entidad contener a otra entidad, Esto es denominado como una
agregación o una relación “tiene un” entre entidades

• La herencia pertenece a la jerarquía “es un” mientras que la Agregación pertenece a la


jerarquía “tiene un”

Superclase
Vehículo
Automóvil

“es-un” “Tiene UN” “Tiene UN” “Tiene UN”

Subclase Automóvil Puerta Asiento Maletera

Herencia entre las entidades Agregación entre las


Vehículo y Automóvil entidades Vehículo y
Auto-Partes
Ejemplo de Herencia
Humano

Europeo Asiático

Francés Italiano Hindú Coreano

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

Inicialización de atributos constructores

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

• Los programas se pueden construir desde módulos de trabajo


estándares que se comunican unos con otros. Permite ahorrar
tiempo de desarrollo e incrementar la productividad

• Facilita dividir el trabajo en proyectos basados en entidades

• Es posible tener múltiples instancias de una entidad coexistiendo


sin interferencias

• Los programadores pueden construir programas más seguros


que no puedan ser invadidos por código de otras partes del
sistema

• La herencia elimina el código redundante y extiende el uso de las


entidades existentes

• El enfoque centrado en los datos permite capturar más detalles


del modelo para la implementación

Вам также может понравиться