Ing. Informatica
Lenguaje C++. Leng. Prog. II. Filiberto Pla y Jorge Badenas.
La herencia
• • •
Recurso muy importante de los lenguajes P.O.O. Definir una nueva clase:
– – – – –
comoextensión de otra previamente definida. sin modificar la ya existente.
La nueva clase hereda de la clase anterior:
las variables. las operaciones . Reutilización del código. • Ahorro de esfuerzo. •Mayor confianza en el código.
•
Principal objetivo/ventaja:
Lenguaje C++. Leng. Prog. II. Filiberto Pla y Jorge Badenas.
51
La herencia en el mundo real.
Tipo
Categoría
Subtiposubcategoría
Animales
Mamíferos
Aves
Gatos
Leones
Águilas
Palomas
• Organización jerárquica de categorías. • Relación es-un. • Relación supertipo-subtipo.
52
Lenguaje C++.Leng. Prog. II. Filiberto Pla y Jorge Badenas.
La herencia. Tipos y subtipos
•
El conjunto de elementos que pertenecen a un tipo incluye a los elementos que pertenezcan a sus subtipos.Animales
Mamíferos
Leones Gatos
Aves
Palomas Águilas
Conjuntos anidados de objetos. Relación entre tipos y subtipos.
Edificios
Motocicletas
Conjuntos disjuntos. No hay relación desubtipado entre estos tipos.
Lenguaje C++. Leng. Prog. II. Filiberto Pla y Jorge Badenas. 53
La herencia. Tipos y subtipos.
•
Principio de subtipos: “Un objeto de un subtipo puede aparecer encualquier lugar donde se espera que aparezca un objeto del supertipo.”
– – – –
•
Los animales son capaces de moverse por sí mismos. Los mamíferos son capaces de moverse por sí mismos. Las aves soncapaces de moverse por sí mismas. Los gatos son capaces de moverse por sí mismos. Los gatos maullan. Los mamíferos maullan. Los animales maullan.
A la inversa no es cierto.
– – –
LenguajeC++. Leng. Prog. II. Filiberto Pla y Jorge Badenas.
54
La herencia en la P.O.O. Clase base superclase, padre
Clase derivada subclase, hija
Empleado
Empleado de producción
Empleado...
Regístrate para leer el documento completo.