RA7 - CEa¶
Empaquetar actividades
Empaqueta las actividades, dentro de la carpeta ut08, en la carpeta actividades/ce7a.
Actividad 01¶
paquete: A01_centroestudios
Diseñar una jerarquía de clases para modelizar las aulas de un centro de estudios.
De una Aula se conoce el código (numérico), la longitud y la anchura. Se desea un método que devuelva la capacidad del aula sabiendo que esta se calcula a partir de la superficie a razón de 1 alumnos por cada 1.4 metros cuadrados de superficie.
Además de las aulas, digamos normales, existen aulas de música y aulas de informática. En las aulas de música se necesita conocer si tienen o no piano. De las aulas de informática se conoce el número de ordenadores y su capacidad no se calcula en función de la superficie, sino a razón de dos alumnos por ordenador.
Implementar el método toString de cada una de las clases diseñadas para que devuelva:
-
En las aulas normales, el
códigoy lasuperficiey lacapacidad. -
En las aulas de música e informática el texto irá precedido por "Aula de música" o "Aula de informática", según corresponda.
Crea también una clase TestAula para probar las clases generadas.
Actividad 02¶
paquete: A02_trabajadores
Crea una clase Empleado y una subclase Encargado. Los encargados reciben un 10% más de sueldo base que un empleado normal. Implementa dichas clases en el paquete objetos y sobrescribe el método getSueldo() para ambas clases.
Actividad 03¶
paquete: A03_juego
a) Crear la clase Dado, la cual desciende de la clase Sorteo. La clase Dado, en la llamada lanzar() mostrará un número aleatorio del 1 al 6.
b) Crear la clase Moneda, la cual desciende de la clase Sorteo. Esta clase en la llamada al método lanzar() mostrará las palabras cara o cruz.
c) Realizar una clase con un método main que compruebe todo lo realizado.
Actividad 04¶
paquete: A04_empresaempleados
Vamos a implementar dos clases que permitan gestionar datos de empresas y sus empleados.
Los empleados tienen las siguientes características:
- Un empleado tiene nombre, DNI, sueldo bruto (mensual), edad, teléfono y dirección.
- El nombre y DNI de un empleado no pueden variar.
- Es obligatorio que todos los empleados tengan al menos definido su nombre, DNI y el sueldo bruto. Los demás datos no son obligatorios.
- Será necesario un método para imprimir por pantalla la información de un empleado.
- Será necesario un método para calcular el sueldo neto de un empleado. El sueldo neto se calcula descontando del sueldo bruto un porcentaje que depende del IRPF. El porcentaje del IRPF depende del sueldo bruto anual del empleado (sueldo bruto x 12 pagas).(*)
| Sueldo bruto anual | IRPF |
|---|---|
| Inferior a 12.000 € | 20% |
| De 12.000 a 25.000 € | 30% |
| Más de 25.000 € | 40% |
Por ejemplo, un empleado con un sueldo bruto anual de 17.000 € tendrá un 30% de IRPF. Para calcular su sueldo neto mensual se descontará un 30% a su sueldo bruto mensual.
Las empresas tienen las siguientes características:
- Una empresa tiene nombre y CIF (datos que no pueden variar), además de teléfono, dirección y empleados. Cuando se crea una nueva empresa esta carece de empleados.
- Serán necesarios métodos para:
- Añadir y eliminar empleados a la empresa.
- Mostrar por pantalla la información de todos los empleados.
- Mostrar por pantalla el DNI, sueldo bruto y neto de todos los empleados.
- Calcular la suma total de sueldos brutos de todos los empleados.
- Calcular la suma total de sueldos netos de todos los empleados.
Implementa las clases Empleado y Empresa con los atributos oportunos, un constructor, los getters/setters oportunos y los métodos indicados. Puedes añadir más métodos si lo ves necesario. Estas clases no deben realizar ningún tipo de entrada por teclado.
Implementa también una clase Programa con una función main para realizar pruebas: Crear una o varias empresas, crear empleados, añadir y eliminar empleados a las empresas, listar todos los empleados, mostrar el total de sueldos brutos y netos, etc.
El IRPF realmente es más complejo pero se ha simplificado para no complicar demasiado este Actividad .
Actividad 05¶
Jerarquía de Animales
- Crear una jerarquía de clases para modelar diferentes tipos de animales en una granja.
- Superclase:
Animal(con atributosnombre,edady un métodohacerSonido()que será sobrescrito por las subclases). - Subclases:
Vaca,CerdoyGallina, cada una con su propia implementación del métodohacerSonido(). - Crear una clase
Granjaque contenga una lista de animales y un método para imprimir todos los sonidos de los animales. - Implementar una clase
TestGranjaque cree una lista de animales y utilice el polimorfismo para llamar al métodohacerSonido()de cada animal.