Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

TestControlBonificacion me da otros resultados! Help!

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

1 respuesta

Tienes un acento en el metodo getBonificacion de tu clase Gerente. Debería ser getBonificacion y lo tienes como getBonificación