Ejercicios III Programación orientada a objetos Luis Guerra Abril 2010 1. Crear una clase abstracta Figura que contenga los métodos obtenerArea, obtenerVolumen y obtenerNombre. 2. De la clase anterior, heredan las siguientes clases (las cuales contienen los métodos habituales y deben sobreescribir los métodos que sean necesarios): Punto. Cı́rculo. Cilı́ndro (un cilı́ndro se define por un punto, un radio y una altura. El área de un cilı́ndro es dos veces el área de un cı́rculo más 2 ∗ π ∗ radio ∗ altura, y el volumen es π ∗ radio2 ∗ altura). Crear un vector de figuras como prueba, donde el primer elemento del vector sea un punto, el segundo un cı́rculo y el tercero un cilı́ndro. Posteriormente mostrar por pantalla de forma continuada los nombres, áreas y volúmenes de cada figura. 3. Imaginar una casa donde cada dı́a se pone la mesa para desayunar, comer y cenar. Dependiendo del momento del dı́a, dicha mesa debe ser puesta de una manera o de otra. Por lo tanto, crear una clase interfaz PonerMesa, y tres clases que implementen dicho interfaz: PonerMesaDesayuno, PonerMesaComida y PonerMesaCena. Los métodos del interfaz serán colocarCocina, vaciarNevera y ponerMenaje. La implementación de cada uno será mostrar por pantalla un mensaje como el del ejemplo: “colocar cocina para desayuno”. 4. Crear una clase interfaz Instrumento con los métodos tocar (mostrará por pantalla la llamada a dicho método), tipo (devuelve el nombre del instrumento) y afinar (no hace nada). Posteriormente crear las clases Guitarra y Piano que extienden la clase interfaz. 5. Crear diferentes instancias de instrumentos en un array y crear un método que afine todos los instrumentos a la vez. 6. Crear una clase interfaz Hablador con el método saluda. A continuación, crear una clase Animal con el mismo método que implemente el interfaz anterior. Después crear otra clase abstracta Persona sin atributos ni métodos. Posteriormente crear las clases perro y gato que sean subclases de animal, y que implementen un saludo asociado. Por último, crear una 1 subclase de persona, por ejemplo “español”, que a su vez, implemente a la clase hablador y tenga su implementación del método saluda. 7. Tenemos un taller de coches en el cual se quiere gestionar los pagos, tanto de facturas a proveedores como a empleados. Crear la interfaz PorPagar, con el método obtenerPago. Extender dicha interfaz con la clase Factura, cuyos atributos son numero de pieza, descripción de pieza, cantidad y precio por articulo. Posteriormente, extender la interfaz con la jerarquı́a de empleados realizada en el ejercicio de la clase anterior. 2