Nosotros establecimos que el Contador tiene un sueldo de 5000. Porque da 10,850 el sueldo del contador? No se supone que al usar el método para calcular la Bonificacion seria:
this.suma = funcionario.getBonificacion() + this.suma; ---------------> This.suma = (5000*0.05) + 5000 = 250+5000 = 5250
import java.util.ResourceBundle.Control;
public class TestControlBonificacion {
public static void main(String[] args) {
Funcionario diego = new Funcionario();
diego.setSalario(2000);
Gerente jimena = new Gerente();
jimena.setSalario(10000);
Contador alexiz = new Contador();
alexiz.setSalario(5000);
ControlBonificacion ControlBonificacion = new ControlBonificacion();
ControlBonificacion.registrarSalario(diego);
ControlBonificacion.registrarSalario(jimena);
ControlBonificacion.registrarSalario(alexiz);
-------------------------------------------------------------------------------------------------------------------
public class ControlBonificacion {
//atributo
private double suma;
//metodo
public double registrarSalario(Funcionario funcionario) {
this.suma = funcionario.getBonificacion() + this.suma;
System.out.println("Calculo actual: " + this.suma);
return this.suma;
}
-----------------------------------------------------------------------------------------------------------------------
public double getBonificacion() {
return this.salario * 0.05; }