Saltar al contenido principal

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:

  1. Crea una interface llamada Figura:
    • Define el método double calcularArea().
  2. Crea la clase Rectangulo que implemente la interface Figura en la que:
    • Define los atributos necesarios para representar un rectángulo.
    • Crea getters y setters necesarios.
    • Crea los constructores que creas necesarios.
    • Documenta los constructores.
    • Implementa los métodos que define la interface Figura.
    • Documenta los métodos.
  3. Crea la clase Circulo que implemente la interface Figura en la que:
    • Define los atributos necesarios para representar un círculo.
    • Crea getters y setters necesarios.
    • Crea los constructores que creas necesarios.
    • Documenta los constructores.
    • Implementa los métodos que define la interface Figura. Para obtener la constante PI, puedes utilizar Math.PI.
    • Documenta los métodos.
  4. Realiza el siguiente programa principal:
    • Crea un ArrayList de Figura.
    • 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 ArrayList de figuras e imprime el área de todas las figuras.

Ejercicio 2. Sigue los siguientes pasos:

  1. Crea una clase Cliente que implemente la interface Comparable<Cliente> con las siguientes características:
    • Almacena el DNI, nombre, edad y salario del cliente.
    • Crea getters y setters necesarios.
    • 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.
  2. Crea la clase CompararPorNombre que implemente la interface Comparator<Cliente>:
    • Implementa el método int compare(Cliente ob1, Cliente ob2) en el que el criterio de ordenación estará basado en el nombre.
  3. Realiza el siguiente programa principal:
    • Crea un ArrayList para almacenar clientes.
    • Crea los siguientes clientes y almacénalos en la lista de clientes.
      DNINombreEdadSueldo
      12345678AAna251500.50
      87654321BJuan301800.75
      11223344CMarta282000.00
      44332211DPedro352500.25
      99887766ELaura221600.60
      55667788FCarlos402200.10
      66778899GSabela271700.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.

Ejercicio 3. Modifica el ejercicio 2, de la tarea T05_01 para que:

  • La clase Deportista implemente la interface Comparable en 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.