Prog. Aclaraciones POO
Sumario
Métodos get y set
Recursividad
Tipos de relaciones en POO
Clases abstractas
Ejercicios
- Declara una clase Persona que pueda ser instanciada con los atributos: nombre, apellidos, edad y estado civil (soltero/casado).
- Declara una clase abstracta Legislador que herede de la clase Persona, con un atributo provinciaQueRepresenta (tipo String), partido político (tipo String) y despacho que ocupa (byte). Declara un método abstracto getCamaraEnQueTrabaja que devuelve una cadena String. Crea dos clases concretas que hereden de Legislador: la clase Diputado y la clase Senador que sobreescriban los métodos abstractos necesarios. Crea una lista de legisladores y muestra por pantalla la cámara en que trabajan haciendo uso del polimorfismo.
- En todas las clases sobreescribe el método toString para que muestre la información.
- Posible solución => Enlace 1
- Declara una clase Persona que no pueda ser instanciada con los atributos: nombre, apellidos y edad.
- Crea una clase Profesor que sea una subclase de la clase Persona, que tenga como atributos un idProfesor (numérico) y un método abstracto, importeNomina() que devolverá un número con decimales.
- Crea una subclase de Profesor de nombre ProfesorTitular, en el que la nómina es igual a 30 horas lectivas multiplicadas por 43.20 euros cada hora.
- Crea una subclase de Profesor de nombre ProfesorInterino, que tendrá como dato la fecha de inicio de la interinidad. Dicha fecha será enviada en el formato (dd/mm/yyyy) y tendrá un método devolverAños() que devolverá un número de tipo byte, que representará el número de años que lleva el Interino trabajando.
- La nómina en el caso de los interinos es igual a 30 horas lectivas multiplicadas por 35.60 euros cada hora.
- En todas las clases sobreescribe el método toString para que muestre la información.
- Posible solución => Enlace 2.
- Con respecto a la solución dada se tienen que considerar las siguientes diferencias:
- Persona se pide que se defina como abstracta.
- Las horas y precio por hora deben ser declaradas como constantes.
- La fecha es enviada en forma de cadena y cuando se quiera calcular el número de meses, deberá de hacerse uso de la clase Calendar.
- Con respecto a la solución dada se tienen que considerar las siguientes diferencias:
Interfaces
Lanzar excepciones
- Throws
- Throw
UML
-- Ángel D. Fernández González -- (2017).