Más ejercicios POO
De WikiEducator
< Usuario:Lmorillas | modulo programacion | python | intro clases
Revisión a fecha de 22:57 25 ene 2012; Lmorillas (Discusión | contribuciones)
Crea una clase Hora con atributos para las horas, los minutos y los segundos de la hora
Incluye, al menos, los siguientes métodos:
- Constructor predeterminado con el 00:00:00 como hora por defecto. En el constructor se podrán indicar horas, minutos y segundos.
- leer(): pedirá al usuario las horas, los minutos y los segundos.
- valida(): comprobará si la hora es correcta; si no lo es la ajustará. Será un método auxiliar (privado) que se llamará en el constructor parametrizado y en leer().
- a_segundos(): devolverá el número de segundos transcurridos desde la medianoche.
- de_segundos(int): hará que la hora sea la correspondiente a haber transcurrido desde la medianoche los segundos que se indiquen.
- segundos_desde(Hora): devolverá el número de segundos entre la hora y la proporcionada.
- siguiente(): pasará al segundo siguiente.
- anterior(): pasará al segundo anterior.
- copia(): devolverá un clon de la hora.
Además (métodos especiales):
- print: mostrará la hora (07:03:21).
- igual_que(Hora): indica si la hora es la misma que la proporcionada.
- menor_que(Hora): indica si la hora es anterior a la proporcionada.
- mayor_que(Hora): indica si la hora es posterior a la proporcionada.
Haz un dibujo (UML) de la clase con dia.
- Crea los tests correspondientes para demostrar que el programa funciona bien.
Clase Empleado
Crea una clase Empleado que modele la información que una empresa mantiene sobre cada empleado: NIF, sueldo base, pago por hora extra, horas extra realizadas en el mes, tipo (porcentaje) de IRPF, casado o no y número de hijos.
Al crear un empleado se podrá proporcionar, si se quiere, el número de DNI.
Además los objetos deberán:
- devolver el complemento correspondiente a las horas extra realizadas.
- devolver el sueldo bruto.
- devolver las retenciones (IRPF) a partir del tipo, teniendo en cuenta que el porcentaje de retención que hay que aplicar es el tipo menos 2 puntos si el empleado está casado y menos 1 punto por cada hijo que tenga; el porcentaje se aplica sobre todo el sueldo bruto.
- print visualiza la información básica del empleado (sueldo base, complemento por horas extra, sueldo bruto, retención de IRPF y sueldo neto).
- un método especial imprime_todo() muestra toda la información del empleado.
- copia(): clona el objeto.