Buenos días:
No puedo entender por qué los salarios no me dan la suma que le da al profesor. A él le da 10600 y a mi solo 600. Es como que no está haciendo la suma en el método getBonificacion(). Alguien me podría explicar por qué? Desde ya, mil gracias.
package bytebank_heredado;
// Gerente HEREDA de Funcionario (extends)
public class Gerente extends Funcionario {
private String clave;
private int contrasenia;
public void setClave(String clave) {
this.clave = clave;
}
public void setContrasenia(int contrasenia) {
this.contrasenia = contrasenia;
}
public boolean iniciarSesion(String clave) {
return clave == "AluraCursosOnLine";
}
// SOBREESCRITURA de método
public double getBonificación() {
System.out.println("Ejecutando desde gerente");
return super.getBonificacion() + super.getSalario(); // Super: de la clase "superior" traé este método.
}
public boolean autenticar(int contrasenia) {
if (this.contrasenia == contrasenia) {
return true;
} else {
return false;
}
}
}
package bytebank_heredado;
public class TestControlBonificacion {
public static void main(String[] args) {
Funcionario diego = new Funcionario();
diego.setSalario(2000);
Gerente jimena = new Gerente();
jimena.setSalario(10000);
Contador alexis = new Contador();
alexis.setSalario(5000);
ControlBonificacion controlBonificacion = new ControlBonificacion();
controlBonificacion.registrarSalario(diego);
controlBonificacion.registrarSalario(jimena);
controlBonificacion.registrarSalario(alexis);
}
}
Resultado por consola:
Calculo actual: 100.0 Calculo actual: 600.0 Ejecutando desde contador Calculo actual: 800.0