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

Erro na Bonificação para o Gerente

Durante a aula o professor disse que o método getBonificacao() apresentava um erro que iria deixar para resolver mais pra frente, em outra aula. Mas acho que resolvi.

"Ainda assim, nosso método getBonificacao() apresenta um erro. Resolveremos isso, mas, por enquanto, vamos apenas deixá-lo em comentários:"

//Gerente é um Funcionário, Gerente herda da classe Funcionário
public class Gerente extends Funcionario {

    private int senha;

    public boolean autentica(int senha) {
        if(this.senha == senha) {
            return true;
        } else {
            return false;
        }
    }

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

A minha solução foi na classe Gerente criar um método getBonificacao() que tenha como retorno o this.getSalario da classe Funcionario somado à bonificacao:

public Double getBonificacao() {
        return this.getSalario() + 2000;
    }

E na classe TestaGerente, para imprimir passei como argumento o método getBonificacao tendo como referência o objeto instanciado de nome gerente:

public class TesteGerente {

    public static void main(String[] args) {

        Gerente gerente = new Gerente();
        gerente.setNome("Hugo Henrique");
        gerente.setCpf("000111222-33");
        gerente.setSalario(5000.0);

        gerente.setSenha(12345);
        System.out.println(gerente.getNome());
        System.out.println(gerente.getCpf());
        System.out.println(gerente.getSalario());

        gerente.setSenha(123);

        boolean autenticou = gerente.autentica(123);
        System.out.println(autenticou);

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

    }

}

E deu certo! uhuuuuu kkkkkk

Mas será que é do jeito certo mesmo? Alguém me diz por favor.

Grato.

2 respostas
solução!

Oi Hugo

Sua solução está correta sim, a única diferença é que ao invés do "this" o professor usou o "super" para deixar explícito que é da superclasse o método getSalario().

https://cursos.alura.com.br/course/java-heranca-interfaces-polimorfismo/task/35078

Obrigado Otávio!

Vi a aula aqui e como ele fez. Show! Valeu.

Abraço.