Está en la página 1de 26

INGENIERÍA EN DISEÑO Y

ANIMACIÓN DIGITAL
CAPÍTULO 3: HERENCIA SIMPLE Y
HERENCIA MÚLTIPLE

M. Sc. Ing. José Enrique Iglesias


HERENCIA
• La herencia es una característica específica de la
programación orientada a objetos.
• Es un concepto clave en el mundo de los
lenguajes de programación orientado a objetos.
• A través de este mecanismo se evita repeticiones
de código cuando se define diferentes clases que
tengan varias características comunes y que están
relacionadas.
HERENCIA

• La herencia de clase es el mecanismo por el cual una


clase adquiere o hereda los atributos y métodos de
su clase padre y clases antecesoras (los
constructores no se heredan).
• La principal característica es la reutilización de
código. Con la herencia, todas las clases están
clasificadas en una jerarquía estricta.
HERENCIA

• La clase existente es conocida como clase


madre, o superclase, o clase base.
• La clase derivada también es conocida
como clase hija o subclase.
SUPERCLASE Y SUBCLASE

• Una ‘superclase’ es aquella clase a partir de la cual


heredan (extienden) otras, siendo así también llamada como
‘clase madre’.
• Una “subclase” es toda aquella clase que hereda (extiende)
de otra; también podemos referirnos a ella como ‘clase hija’.
• Aplicando a estas definiciones la flexibilidad de los objetos,
se deduce que cualquier ‘clase hija’, o subclase, puede ser a
su vez la ‘clase madre’, o superclase, de otras.
EJEMPLO DE HERENCIA
EJEMPLO DE HERENCIA
• La herencia es un
mecanismo que permite la
definición de una clase a
partir de la definición de
otra ya existente. La
herencia permite compartir
automáticamente métodos
y datos entre clases,
subclases y objetos.
HERENCIA SIMPLE
• El termino heredar significa que las subclases
disponen de todos los atributos y métodos de su
superclase.
• La herencia simple se caracteriza porque las clases
heredadas o subclases, solo pueden tener una clase
padre o superclase.
• JavaScript soporta la implementación de herencia
simple de forma directa.
HERENCIA SIMPLE
IMPLEMENTACION HERENCIA SIMPLE
Implementación de la clase
padre, más su constructor

Implementación de los métodos get,


set y métodos propios de la clase
padre

Implementación de la clase
hija, más su constructor

Implementación de los métodos get,


set y métodos propios de la clase hija
IMPLEMENTACION HERENCIA SIMPLE
Nombre de la Palabra reservada
clase hija que permite la
herencia
Nombre de la En el constructor de la
clase padre clase hija se debe recibir
como parámetros también
los atributos de la clase
padre y definir e inicializar
sus propios atributos.
Permite invocar a los
atributos y métodos de la
clase padre desde la clase
hija.
IMPLEMENTACION HERENCIA SIMPLE

Se importa el archivo, donde está


implementada la clase y subclase.

El objeto creado puede invocar a los La instancia del objeto, debe ser de la
métodos de la clase padre o hija. clase hija o subclase.
HERENCIA MÚLTIPLE
• Se caracteriza porque una subclase
deriva de dos o mas clases padre
o superclases.
• JavaScript no permite la
implementación de la herencia
múltiple de forma directa.
• Para implementar herencia
múltiple en JavaScript, se recurre
al uso de mixims.
HERENCIA MÚLTIPLE
TIPOS DE HERENCIA - EJEMPLOS

Herbívoro -> Herencia simple


Carnívoro -> Herencia simple
Omnívoro -> Herencia simple
Herbívoro -> Herencia simple
Conejo -> Herencia simple
Carnívoro -> Herencia simple
León -> Herencia simple Vaca -> Herencia simple
Hiena -> Herencia simple Conejo -> Herencia simple
Hombre -> Herencia simple Hombre -> Herencia múltiple
TIPOS DE HERENCIA - EJEMPLOS

Hotel -> Herencia simple


Restaurant -> Herencia simple
HotelRestaurant -> Herencia
Ganso -> Herencia simple múltiple
Pato -> Herencia simple
Gallina -> Herencia simple
MIXINS
• En los lenguajes de programación orientada a objetos, un
mixin es una clase que ofrece cierta funcionalidad para ser
heredada por una subclase, pero que no está ideada para
ser autónoma.
• Los mixins son subclases abstractas que aplicamos sobre
diferentes superclases para crear familias relacionadas de
clases modificadas.
• JavaScript hace uso de los mixins, para la implementación
de la herencia múltiple.
ESQUEMA DE COMPOSICIÓN

• Se puede afirmar de que los Mixins son como fábricas


(factorías) de subclases que están parametrizadas por la
superclase.
• De este modo, se crea una cadena de herencia donde
encontramos, en este orden, la superclase (la madre), el
mixin (la fábrica), y la subclase (la hija).
ESQUEMA DE COMPOSICIÓN
Esquema de Implementación de Herencia Simple
ESQUEMA DE COMPOSICIÓN
Esquema de Implementación de Herencia Múltiple
IMPLEMENTACIÓN DE MÚLTIPLES MIXINS

La flexibilidad del sistema


permite aplicar varios Mixins
sobre una misma subclase.

El siguiente esquema
representa la implementación
a nivel gráfico de múltiples
Mixins:
IMPLEMENTACIÓN HERENCIA MÚLTIPLE
IMPLEMENTACIÓN HERENCIA MÚLTIPLE

Implementación de la clase
padre, con su respectivo
constructor, sus métodos get, set y
los métodos propios de la clase.

Definición del mixin, donde


Carrera es el nombre del mixin
El constructor del mixin, debe
recibir como parámetros los
atributos de la clase padre y
definir e inicializar sus propios
atributos. El super ayuda a invocar
a los atributos y métodos de la
clase padre
IMPLEMENTACIÓN HERENCIA MÚLTIPLE
Definición de la subclase,
denominada Universitario. Esquema de
composición. La
subclase debe ser
una composición
del mixin y la clase
padre.

El constructor de la subclase,
debe recibir como parámetros los
atributos de la clase padre y del
mixin, adicionalmente debe
definir e inicializar sus propios
atributos. El super ayuda a invocar
a los atributos y métodos del
mixin y de la clase padre
IMPLEMENTACIÓN HERENCIA MÚLTIPLE
Se importa el archivo, donde está
implementada la clase, el mixin y la
subclase.

El objeto creado puede invocar a los


métodos de la clase padre, del mixin o La instancia del objeto, debe ser de la
de la sublclase. clase hija o subclase.
EJERCICIOS

También podría gustarte