Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

getBonificacao: this, super e get

Boa tarde Nobres Amigos(as)

Então, de acordo com as orientações da Aula 2, o método getBonificacao() da classe Gerente pode ser escrito de duas maneiras : 1º maneira (não convencional)

    public double getBonificacao() {
        return this.salario;
    }

2º maneira (com base nas melhores práticas)

    public double getBonificacao() {
        return super.salario; // "super" ajuda os outro programadores a identificar que este atributo percenete a Classe Mae/Superior   
    }

Mas eu testei dessa forma e também deu certo

    public double getBonificacao() {
        return getSalario() * 0.3;    
    }

Execução x Resultado

      g1.setNome("Alexandre Castro");
      g1.setCpf("093.882.667-06");
      g1.setSalario(5000.0);
      g1.setSenha(131196);

      System.out.println(g1.getNome());
      System.out.println(g1.getCpf());
      System.out.println(g1.getSalario());

      System.out.println(g1.getBonificacao());

      System.out.println(g1.autentica(131196));
Alexandre Castro
093.882.667-06
5000.0
1500.0
true

A pergunta é, também pode ser executado desta forma ? Não é convencional entre os programadores e por isso devemos usar o "super" sempre ?

Att.,

Alexandre Castro

2 respostas
solução!

Olá Alexandre!

Pode usar dessa forma sim só que acaba ficando implícito se aquele método é da classe atual ou da classe pai.

No Java é uma boa prática deixarem as coisas explícitas para facilitar o entendimento de quem for mexer no seu código, por isso o uso do super acaba sendo interessante nesse caso.

Obrigado pela ajuda @Guilherme Tadeu

Grande Abraço

Att.,

Alexandre Castro