Cap 3 - Herencia simple y múltiple.pdf

853 views 26 slides May 11, 2023
Slide 1
Slide 1 of 26
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26

About This Presentation

Herencia


Slide Content

M. Sc. Ing. José Enrique Iglesias
CAPÍTULO 3: HERENCIA SIMPLE Y
HERENCIA MÚLTIPLE
INGENIERÍA EN DISEÑO Y
ANIMACIÓN DIGITAL

HERENCIA
•Laherenciaesunacaracterísticaespecíficadela
programaciónorientadaaobjetos.
•Esunconceptoclaveenelmundodelos
lenguajesdeprogramaciónorientadoaobjetos.
•Atravésdeestemecanismoseevitarepeticiones
decódigocuandosedefinediferentesclasesque
tenganvariascaracterísticascomunesyqueestán
relacionadas.

HERENCIA
•Laherenciadeclaseeselmecanismoporelcualuna
claseadquiereoheredalosatributosymétodosde
suclasepadreyclasesantecesoras(los
constructoresnoseheredan).
•Laprincipalcaracterísticaeslareutilizaciónde
código.Conlaherencia,todaslasclasesestán
clasificadasenunajerarquíaestricta.

HERENCIA
•Laclaseexistenteesconocidacomoclase
madre,osuperclase,oclasebase.
•Laclasederivadatambiénesconocida
comoclasehijaosubclase.

SUPERCLASE Y SUBCLASE
•Una‘superclase’esaquellaclaseapartirdelacual
heredan(extienden)otras,siendoasítambiénllamadacomo
‘clasemadre’.
•Una“subclase”estodaaquellaclasequehereda(extiende)
deotra;tambiénpodemosreferirnosaellacomo‘clasehija’.
•Aplicandoaestasdefinicioneslaflexibilidaddelosobjetos,
sededucequecualquier‘clasehija’,osubclase,puedesera
suvezla‘clasemadre’,osuperclase,deotras.

EJEMPLO DE HERENCIA

EJEMPLO DE HERENCIA
•Laherenciaesun
mecanismoquepermitela
definicióndeunaclasea
partirdeladefiniciónde
otrayaexistente.La
herenciapermitecompartir
automáticamentemétodos
ydatosentreclases,
subclasesyobjetos.

HERENCIA SIMPLE
•Elterminoheredarsignificaquelassubclases
disponendetodoslosatributosymétodosdesu
superclase.
•Laherenciasimplesecaracterizaporquelasclases
heredadasosubclases,solopuedentenerunaclase
padreosuperclase.
•JavaScriptsoportalaimplementacióndeherencia
simpledeformadirecta.

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
clase hija
Palabra reservada
que permite la
herencia
Nombre de la
clase padre
Enelconstructordela
clasehijasedeberecibir
comoparámetrostambién
losatributosdelaclase
padreydefinireinicializar
suspropiosatributos.
Permiteinvocaralos
atributosymétodosdela
clasepadredesdelaclase
hija.

IMPLEMENTACION HERENCIA SIMPLE
Se importa el archivo, donde está
implementada la clase y subclase.
La instancia del objeto, debe ser de la
clase hija o subclase.
El objeto creado puede invocar a los
métodos de la clase padre o hija.

HERENCIA MÚLTIPLE
•Secaracterizaporqueunasubclase
derivadedosomasclasespadre
osuperclases.
•JavaScriptno permite la
implementacióndelaherencia
múltipledeformadirecta.
•Para implementar herencia
múltipleenJavaScript,serecurre
alusodemixims.

HERENCIA MÚLTIPLE

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

TIPOS DE HERENCIA -EJEMPLOS
Ganso -> Herencia simple
Pato -> Herencia simple
Gallina -> Herencia simple
Hotel -> Herencia simple
HotelRestaurant-> Herencia
múltiple
Restaurant -> Herencia simple

MIXINS
•Enloslenguajesdeprogramaciónorientadaaobjetos,un
mixinesunaclasequeofrececiertafuncionalidadparaser
heredadaporunasubclase,peroquenoestáideadapara
serautónoma.
•Losmixinssonsubclasesabstractasqueaplicamossobre
diferentessuperclasesparacrearfamiliasrelacionadasde
clasesmodificadas.
•JavaScripthaceusodelosmixins,paralaimplementación
delaherenciamúltiple.

ESQUEMA DE COMPOSICIÓN
•SepuedeafirmardequelosMixinssoncomofábricas
(factorías)desubclasesqueestánparametrizadasporla
superclase.
•Deestemodo,secreaunacadenadeherenciadonde
encontramos,enesteorden,lasuperclase(lamadre),el
mixin(lafábrica),ylasubclase(lahija).

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óndelaclase
padre,consurespectivo
constructor,susmétodosget,sety
losmétodospropiosdelaclase.
Definición del mixin, donde
Carreraes 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.
La instancia del objeto, debe ser de la
clase hija o subclase.
El objeto creado puede invocar a los
métodos de la clase padre, del mixin o
de la sublclase.

EJERCICIOS
Tags