Más ejercicios POO

De WikiEducator
Saltar a: navegación, buscar



Clase Hora

Icon activity.jpg

Clase Hora

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

Icon activity.jpg

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.





Clase Canción

Icon activity.jpg

Clase Canción

Desarrolla una clase Canción con los siguientes atributos:

  • _titulo: una variable String que guarda el título de la canción.
  • _autor: una variable String que guarda el autor de la canción.
  • _duracion: tiempo en segundos de la canción.

y los siguientes métodos:

  • El constructor que recibe como parámetros el título y el autor de la canción (por este orden)
  • dame_titulo(): devuelve el título de la canción.
  • dame_autor(): devuelve el autor de la canción.
  • pon_titulo(String): establece el título de la canción.
  • pon_autor(String): establece el autor de la canción.
Icon present.gif
Tip: Este modelo es muy poco pythonico. Convierte los métodos anteriores en propiedades