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)
1
respuesta

[Duda] Duda sobre el método super

Buenas, tengo una duda sobre el uso de la palabra super en el aula 2 la primera vez que se explica. En el método para obtener la bonificación de la clase Gerente ¿No es posible utilizar this seguido del método getSalario()? Hasta vimos que la herencia le permite a una clase hija utilizar los métodos de la clase padre, es ese caso no habría problema en utilizar this ya que este objeto (la clase gerente) también posee el método getSalario de la clase padre. De hecho lo pude probar y el código compila y se ejecuta sin problemas al utilizar this en lugar de super. El código me quedó de la siguiente forma:

public class Gerente extends Funcionario {

    private String clave;

    public void setClave(String clave) {
        this.clave = clave;
    }

    public boolean iniciarSesion(String clave) {
        return clave == this.clave;
    }

    public double getBonificacion() {
        return this.getSalario();
    }
}
1 respuesta
solución!

Hola!

La palabra super nos ayuda con la sobrescritura de métodos es decir, cuando tenemos un mismo método, tanto en la clase padre, como en la subclase y en cada uno se implementa un comportamiento diferente, al usar la palabra this estarías invocando al método de la subclase, al usar super se llamaría al método de la clase padre

En tu ejemplo, si en tu clase Gerente también tuvieras un método getSalario() cuyo comportamiento fuera diferente a lo que tiene en tu clase Funcionario, al usar this se estaría haciendo referencia al método de la clase Gerente y la usar super se llamaría al método de la clase Funcionario

Saludos!