|
19.1.-
Considere la clase bicycle. En base a sus conocimientos de
algunos componentes básicos y comunes de las bicicletas,
muestr una jerarquía de clases en la cual la clase bicycle
hereda de otras clases. Analice la producción de varios objetos
de la clase bicycle. Analice la herencia correspondiente
a la clase bicycle para otras clases derivadas intimamente relacionadas.
19.2.-
Defina brevemente cada uno de los términos siguientes: herencia,
herencia múltiple, clase base y clase derivada.
19.3.-
Analice el por qué se considera peligroso para el compilador
la conversión del apuntador de clase base a un apuntador
de clase derivada.
19.4.-
Señale todas las formas que le vengan a la mente tanto de
dos como de tres dimensiones, y organice estas formas en una jerarquía
de formas. Su jerarquía deberá tener una clase base
Shape, a partir de la cual se deribarán la clase TwoDimensionalShape
y la clase ThreeDimensionalShape. Una vez desarrollada la jerarquía,
defina cada una de las clases en la jerarquía. Esta es una
técnica conocida como polimorfismo.
19.5.-
Un tipo popular de clase es la que se llama clase colección
o una clase contenedor. Una clase de este tipo contiene elementos
de otras clases. Algunos tipos de clases de colección son
los arreglos, las pilas, las colas, las lista enlazadas,, los árboles,
las cadenas de caracteres, los conjuntos, las bolsas, los diccionarios,
las tablas, etc. Una clase colección o contenedor proporciona
en forma típica servicios como es insertar un elemento, borrarlo
y buscarlo, combinar dos conjuntos o colecciones, determinar la
intersección de dos colecciones (es decir, los elementos
que sean comunes a ambas), imprimir una colección, encontrar
el elemento más grande en la colección, encontrar
el elemento más pequeño en la colección, encontrar
la suma de los elementos de la colección, etc.
- Haga
una lista de todos los tipos de clases de colección que
se le pueden ocurrir (incluyendo aquellos que ya hemos mencionado).
- Arregle
estas clases de colección en una jerarquía de clases.
Quizás desee distinguir entre colecciones ordenadas y colecciones
desordenas.
- Ponga
en práctica todas las clases que pueda, utilizando la herencia
para minimizar la cantidad de código nuevo que deba escribir
para la creación de cada una de las nueva clases.
- Escriba
un programa manejador que pruebe cada una de las clases en su
jerarquía de herencia.
|
|