Ejercicio: Sistema de Gestión de Empleados
Objetivo Desarrollar un sistema para gestionar diferentes tipos de empleados en una empresa. La empresa tiene empleados regulares y gerentes. Todos los empleados tienen un salario base, pero los gerentes también tienen un bono anual basado en el rendimiento.
Clase Empleado
- Atributos: nombre (String), ID (int), salarioBase (double).
- Constructor para establecer todos los atributos.
- Métodos:
- calcularSalario(): Devuelve el salarioBase.
- mostrarDetalles(): Imprime los detalles del empleado.
Interface Bonificable
- Método calcularBono(): Cualquier clase que implemente Bonificable deberá proporcionar una implementación para calcular un bono.
Clase Gerente
- Extiende Empleado e implementa Bonificable.
- Atributos adicionales: bonoAnual (double).
- Constructor para establecer todos los atributos (incluyendo los de Empleado).
- Sobreescribe calcularSalario() para incluir bonoAnual.
- Implementa calcularBono() para calcular el bono anual basado en un porcentaje del salarioBase.
- Sobreescribe mostrarDetalles() para incluir detalles sobre el bono anual.
Clase Empresa
- Atributos: lista de empleados (ArrayList de Empleado).
- Métodos:
- añadirEmpleado(Empleado empleado): Añade un nuevo empleado a la lista.
- mostrarEmpleados(): Imprime los detalles de todos los empleados.
Ejemplo de uso
public class Main {
public static void main(String[] args) {
Empresa empresa = new Empresa();
Empleado empleado1 = new Empleado("Juan", 1, 30000);
Gerente gerente1 = new Gerente("Ana", 2, 50000, 10000);
empresa.añadirEmpleado(empleado1);
empresa.añadirEmpleado(gerente1);
empresa.mostrarEmpleados();
}
}