Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
2
respuestas

Duda con la sobreescritura

Al sobreescribir el método de bonificación del gerente, para que gane lo que gana un empleado común más un salario. El valor del salario toma el valor del método de la super clase getBonificacion. Es decir, getSalario vale 500, al ejecutar el método de bonificación queda con valor de 50.

Método bonificación de la super clase.

 public double getBonificacion(){

        return this.salario *= 0.1;
    }

Método de la clase gerente ,tuve que sumar primero el salario para "corregir" este error de que el salario toma el valor del método anterior e imprimir el valor de bonificación correctamente, sin embargo, al imprimir getSalario() queda con el valor que no debería.

public double getBonificacion(){
        return super.getSalario() + super.getBonificacion();
    }
2 respuestas
solución!

Hola Alumno, ¡espero que estés bien!

Al utilizar *= en el primer método descrito, usted está multiplicando el atributo this.salario con el valor 0.1, por eso ocurre el cambio en el salario.

Creo que vale la pena intentarlo de esta manera:

    public double getBonificacion(){
        return this.salario * 0.1;
    }

¡Saludos y buenos estudios!

Gracias, no me percataba