Boletín 502. Interfaces
En este boletín trabajaremos con las interfaces de Java, además de cómo conseguir con esto realizar polimorfismo.
Ejercicios
Ejercicio 1. Sigue los siguientes pasos:
- Crea una interface llamada
Figura:- Define el método
double calcularArea().
- Define el método
- Crea la clase
Rectanguloque implemente la interfaceFiguraen la que:- Define los atributos necesarios para representar un rectángulo.
- Crea
gettersysettersnecesarios. - Crea los constructores que creas necesarios.
- Documenta los constructores.
- Implementa los métodos que define la interface
Figura. - Documenta los métodos.
- Crea la clase
Circuloque implemente la interfaceFiguraen la que:- Define los atributos necesarios para representar un círculo.
- Crea
gettersysettersnecesarios. - Crea los constructores que creas necesarios.
- Documenta los constructores.
- Implementa los métodos que define la interface
Figura. Para obtener la constante PI, puedes utilizarMath.PI. - Documenta los métodos.
- Realiza el siguiente programa principal:
- Crea un
ArrayListdeFigura. - Crea un rectángulo de lado 5 y 6.
- Añade el rectángulo a la lista creada anteriormente.
- Crea un círculo de radio 7.
- Añade el círculo a la lista creada anteriormente.
- Utiliza el polimorfismo y recorre el
ArrayListde figuras e imprime el área de todas las figuras.
- Crea un
Ejercicio 2. Sigue los siguientes pasos:
- Crea una clase
Clienteque implemente la interfaceComparable<Cliente>con las siguientes características:- Almacena el DNI, nombre, edad y salario del cliente.
- Crea
gettersysettersnecesarios. - Crea los constructores que creas necesarios.
- Documenta los constructores.
- Redefine el método
toString()con el formato<DNI> <Nombre>. Edad: <edad>. Salario <sueldo>. - Redefine el método
equals(). Para que dos clientes sean iguales, solo el DNI debe coincidir. - Implementa el método
int compareTo(Cliente ob)en el que el criterio de ordenación estará basado en el DNI.
- Crea la clase
CompararPorNombreque implemente la interfaceComparator<Cliente>:- Implementa el método
int compare(Cliente ob1, Cliente ob2)en el que el criterio de ordenación estará basado en el nombre.
- Implementa el método
- Realiza el siguiente programa principal:
- Crea un
ArrayListpara almacenar clientes. - Crea los siguientes clientes y almacénalos en la lista de clientes.
DNI Nombre Edad Sueldo 12345678A Ana 25 1500.50 87654321B Juan 30 1800.75 11223344C Marta 28 2000.00 44332211D Pedro 35 2500.25 99887766E Laura 22 1600.60 55667788F Carlos 40 2200.10 66778899G Sabela 27 1700.80 - Imprime la lista de clientes ordenada por DNI.
- Imprime la lista de clientes ordenada por nombre utilizando la clase
CompararPorNombre. - Imprime la lista de clientes ordenada por edad utilizando una clase anónima.
- Crea un
Ejercicio 3. Modifica el ejercicio 2, de la tarea T05_01 para que:
- La clase
Deportistaimplemente la interfaceComparableen la que se utilizará como criterio de ordenación la fecha de nacimiento. - En el programa principal, los deportistas deberán mostrarse ordenados por el criterio de ordenación de la clase
Deportista. - En el programa principal, los tenistas deberán ordenarse por su número de ranking.
- En el programa principal, tanto los pilotos como pilotos de F1 deberán ordenarse por puntos de mayor a menor. En cambio, los pilotos de MotoGP el orden debe ser inverso.