El enunciado es: Cree una jerarquía de clases que represente el personal de una empresa. Para ello defina una clase abstracta con los atributos y métodos generales de cualquier empleado y varias subclases para distintos tipos de empleados.
Programador.java
package empleados; public class Programador extends Empleado { public Programador(String dni) { super(dni,20000); } public void programar() { System.out.println("Estoy programando"); } }
package empleados; public class ListaEmpleados { private Empleado[] lista; public ListaEmpleados() { lista = new Empleado[10]; } public boolean add(Empleado e) { for (int i=0; i<lista.length; i++) { if (lista[i] == null) { lista[i] = e; return true; } } return false; } public void remove(int i) { if (i < lista.length && i >= 0) { lista[i] = null; } } public boolean remove(String dni) { for (int i=0; i<lista.length; i++) { if (lista[i] != null) { if (lista[i].getDNI().compareTo(dni) == 0) { lista[i] = null; return true; } } } return false; } public void listar() { for (Empleado elto : lista) { if (elto != null) { System.out.print(elto.getDNI() + ": "); if (elto instanceof Gerente) { System.out.print("gerente ("); } if (elto instanceof Programador) { System.out.print("programador ("); } System.out.println(elto.getSueldo() + ")"); } } } }
package empleados; public class Gerente extends Empleado { public Gerente(String dni) { super(dni,100000); } public void reunion() { System.out.println("Estoy reunido"); } }
package empleados; public class Gerente extends Empleado { public Gerente(String dni) { super(dni,100000); } public void reunion() { System.out.println("Estoy reunido"); } }
package empleados; abstract public class Empleado { private String DNI; private int sueldo; public Empleado(String dni, int sueldo) { DNI = dni; this.sueldo = sueldo; } public String getDNI() { return DNI; } public void setDNI(String DNI) { this.DNI = DNI; } public int getSueldo() { return sueldo; } public void setSueldo(int sueldo) { this.sueldo = sueldo; } }
Puedes ver todos mis ejercicios de JAVA en este enlace.