Guía de Prácticas
Práctica N° 8
Algoritmo y Estructura de Datos I
2022-II
DOCENTE
MBA Ing. Gerald Basurco Zapata
1. Defina una jerarquía de clases que permita almacenar datos sobre los planetas y satélites
que forman parte del sistema solar (junto con el sol). Algunos atributos que puede ser
interesante recoger son: la masa del cuerpo, su diámetro medio, el período de rotación
sobre el propio eje, período de traslación alrededor del cuerpo que orbitan, distancia
media a ese cuerpo, excentricidad de la órbita, ... Defina un método, que dado un objeto
del sistema solar (planeta o satélite), imprima toda la información de que se dispone sobre
el mismo. Realizar el Diagrama de Clases UML.
2. Si la clase Rectángulo se deriva de la clase Cuadrilátero, entonces un objeto Rectángulo
es una versión más específica de un objeto Cuadrilátero. Cualquier operación (como
calcular el perímetro o el área) que pueda realizarse con un objeto de la clase Cuadrilátero
también puede realizarse con un objeto de la clase Rectángulo. Dichas operaciones
también pueden realizarse con otros tipos de Cuadriláteros como Cuadrados,
Paralelogramos y Trapezoides. Implemente esta jerarquía y use polimorfismo para el
cálculo del perímetro y/o área de la figura. Realizar el Diagrama de Clases UML
3. Suponga que podemos clasificar a los empleados en ejecutivos y comerciales (y muchas
más clases, pero para el ejemplo nos limitaremos a esos dos). Estableceremos
propiedades exclusivas de cada clase y crearemos dos nuevas clases derivadas de
"Empleado": "Ejecutivo" y "Comercial".
Cada vez que creemos un objeto de cualquier tipo derivado, por ejemplo de tipo
Comercial, estaremos creando en un sólo objeto un Comercial, un Empleado y una
Persona. Nuestro programa puede tratar a ese objeto como si fuera cualquiera de esos
tres tipos. Es decir, nuestro comercial tendrá, además de sus propiedades como:
comercial, su nómina como empleado, y su nombre, edad y género como persona
Implemente una jerarquía de clases de acuerdo al problema planteado
Considere el caso de que en la clasificación se desea incluir una nueva clase "Becario",
que no es un empleado, ni tampoco un estudiante
Aplicar procedimientos genéricos a una clase en concreto, de modo tal, por ejemplo,
que se aplique una subida general del salario a todos los empleados, independientemente
de su profesión.
La clase base Persona debe tener los datos miembro: nombre y edad y los métodos:
para manejar esos datos, LeerNombre(…), LeerEdad(…), CambiarNombre(…),
CambiarEdad(…).
La clase derivada Empleado debe tener el dato miembro salario y los métodos para
trabajar este dato, LeerSalario(…), CambiarSalario(…)
4. Cree una clase genérica Documento de la que hereden (directa o indirectamente) todas
las demás clases que se van a definir, para representar distintos tipos de documentos)
▪ Cree dos clases, Factura y Pedido, para representar facturas y pedidos,
respectivamente.
▪ A continuación, cree un pequeño programa que cree objetos de ambos tipos y los
muestre por pantalla.
▪ Añada un tercer tipo de documento, PedidoUrgente, que herede directamente de
Pedido. Compruebe que el programa anterior sigue funcionando correctamente si
reemplazamos un Pedido por un PedidoUrgente.
▪ Cree un nuevo tipo de documento, denominado Contrato, incluya también un tipo
de documento CV para representar el currículum vitae de una persona.
▪ Implemente un pequeño programa que cree un documento de un tipo seleccionado
por el usuario. Muestre por pantalla el documento independientemente del tipo
concreto de documento que se haya creado en el paso anterior.
Realizar el Diagrama de Clases UML