Me parecía raro que si "alexis.setSalario(5000);" es decir, menos que "jimena.setSalario(10000);", el resultado de "contador" fuera mayor que el de "gerente". Bajé el repositorio y probé cambiar el orden de los argumentos y salió lo siguiente:
Si dejo el orden que sale en el tutorial, es decir:
controlBonificacion.registrarSalario(diego); controlBonificacion.registrarSalario(jimena); controlBonificacion.registrarSalario(alexis); en consola sale: Cálculo actual: 100.0 Cálculo actual: 10600.0 Cálculo actual: 10800.0
*Pero si cambio el orden de los argumentos a, por ejemplo:
controlBonificacion.registrarSalario(alexis);
controlBonificacion.registrarSalario(jimena);
controlBonificacion.registrarSalario(diego);
en consola sale:
Cálculo actual: 200.0
Cálculo actual: 10700.0
Cálculo actual: 10800.0
O si cambio el orden de los argumentos a...:
controlBonificacion.registrarSalario(jimena); controlBonificacion.registrarSalario(alexis); controlBonificacion.registrarSalario(diego); en consola sale: Cálculoactual: 10500.0 Cálculoactual: 10700.0 Cálculoactual: 10800.0
¿Por qué se da este error? Imagino que es por el orden en que lee los argumentos desde padre a hijo, pero el tema principal es ¿cómo se soluciona esto?