Está en la página 1de 15

UNIDAD III: HERENCIA

Prof. Laurys Rivero


Modificación de Archivo de la Prof. Ennys Vivas
UNIDAD 3. Herencia. 2016-2
Herencia
■ Es el mecanismo fundamental para implementar la
reutilización y extensibilidad del software.

Evita el rediseño, la
modificación y
verificación de la
partiendo de una los diseñadores parte ya
jerarquía de clases pueden construir implementada.
ya existente nuevas clases
✓ Facilita la creación de objetos a partir de otros ya existentes,
obteniendo características (métodos y atributos)
similares a los ya existentes.

✓ Es uno de los mecanismos de la programación orientada a


objeto, por medio del cual una clase se deriva de
otra.
Generalización
■ Propiedad que permite compartir información entre dos
clases, su objetivo es evitar la redundancia.

Ejemplo: Características Comunes

➢ Aparatos para el Hogar


➢ Necesitan Corriente
➢ Tiene Serial
➢ Costo
➢…
Especialización
■ Proceso inverso a la generalización.
■ En los Objetos existen atributos y métodos que son
específicos (particulares) a cada objeto.

Ejemplo: Características y comportamiento propio


La herencia o relación es-
un, es una relación que se
establece entre dos clases,
que permite definir nuevas
clases (específicas) a partir
de una clase base ya
existente (general).

Las clases Derivadas pueden


redefinir los métodos que
hereda de la clase padre y GENERALIZACIÓN ESPECIALIZACIÓN

añadir métodos propios.


HERENCIA
EN UML
Ejemplo
■ En una empresa solo tienen permitido el acceso los trabajadores
y los estudiantes pasantes. Los trabajadores tienen una cuenta
bancaria asociada que se relaciona en RRHH para procesar sus
pagos quincenales. A los estudiantes se les lleva un control de
entradas y salidas correspondientes a las horas acordadas para
sus pasantías.
■ En la empresa a los empleados de planta se les entrega un bono
de producción que se basa en el cálculo de las piezas realizadas
en la semana. Por otra parte, los empleados administrativos
tienen un bono de puntualidad que se entrega mensualmente
además de disfrutar de 1 día mas de vacaciones por año de
servicio en la empresa.
Sintaxis de Herencia en C++
La declaración de herencia debe incluir la palabra reservada
class, el nombre de la nueva clase, el especificador de acceso
que indica el tipo de herencia (pública, privada o protegida) y
el nombre de la clase base de la que se deriva.
ACCESIBILIDAD
EN CLASES
DERIVADAS
Como reglas se extrae
■ Los componentes ó miembros privados en la clase
base son inaccesibles (no utilizables) por la clase
derivada, para todos los modos de derivación
(private, protected, public).
■ Derivando en modo privado se obtienen miembros
privados.
■ Derivando en modo protegido se obtienen miembros
protegidos.
■ Derivando en modo público se respetan las
características de los miembros de la clase base.
■ Se dice que hay Herencia en C++, porque el
compilador permite dependiendo del tipo de
derivación, utilizar los atributos y métodos de una
clases desde otra.
■ La herencia permite que una jerarquía de clases sea
construida, moviéndose desde la más general a la
más específica.
■ El proceso implica primero definir una clase base,
que define características comunes a todos los
objetos que se derivarán de ella y luego definir las
clases derivadas.
■ En general, se debe utilizar la palabra reservada
public como tipo de herencia ya que es la herencia
más general, esto permite conseguir que todos los
miembros que son públicos en la clase base
permanezcan públicos en la clase derivada.
■ El especificador de acceso es opcional, pero si se
omite el compilador lo tomará por defecto como
private.
■ La derivación de clases por el mecanismo de
herencia puede llegar a muchos niveles de
profundidad, es decir, una clase c1 puede derivar de
otra clase c2 que a su vez deriva de otra clase c3 y
así sucesivamente.

También podría gustarte