Está en la página 1de 1

UT 11 – Ejercicios

Ejercicio 07 – Polimorfismo dinámico


Para este ejercicio vamos a partir de las clases creadas en el ejercicio 4:

 Empleado
 Operario
 Directivo
 Oficial
 Tecnico

No se van a modificar, así que puedes optar por referenciarlas directamente, importándolas en
el programa que vamos a realizar.

El programa tiene que:

 Pedir al usuario la cantidad de empleados a crear.


 Crear un array de empleados (objetos de la clase Empleado) del tamaño indicado por
el usuario.
 Preguntará al usuario el nombre de cada uno de los empleados, y con este nombre,
utilizará un método crearEmpleadoAleatorio(String nombre) que:
o Elige al azar una de las cinco clases
o Crea el objeto de la clase
o Devuelve el objeto.
 Añade cada uno de los empleados al array
 Una vez creado el array:
o Mostrará un listado con todos los empleados.
o Mostrará un listado con solo los directivos.
o Mostrará un listado con solo los operarios.
o Mostrará un listado con solo los oficiales.
o Mostrará un listado con sólo los técnicos.

El principio de sustitución de Liskov establece que se puede usar un objeto de la subclase


siempre que el programa espere un objeto de la superclase. Aplicado en este problema
significa que Java espera que el método crearEmpleadoAleatorio devuelva un objeto de la
clase Empleado, pero podemos devolver cualquier clase que herede de Empleado, ya que
todas las instancias de estas clases son también empleados.

Para elegir al azar la clase, basta con generar un número aleatorio entre 0 y 4, y un switch para
usar el constructor de cada clase.

El listado de todos los empleados simplemente puede recorrer el array de empleados.

El resto de los listados tienen que usar instanceof o algún otro mecanismo para mostrar sólo
los que sean de la clase que estamos mostrando.

También podría gustarte