Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvida no código

Fiz a seguinte gambiarra:


public class EditorVideo extends Funcionario {


    public double getBonificacao() {

        double boni = super.getBonificacao() + 100;
        System.out.println("A bonificação do Editor de vídeo é de: " + boni);
        return boni;

    }
}

E aqui eu quis testar, seria só uma coisinha a mais que eu gostaria de ver.


public class TesteReferencias {

    public static void main(String[] args) {

         Gerente g1 = new Gerente();

        g1.setNome("Marcos");
        String nome = g1.getNome();
        g1.setSalario(5000.0);

        Funcionario f = new Funcionario();
        f.setSalario(2000.0);

        EditorVideo ev = new EditorVideo();
        ev.setSalario(2500.0);

        ControleBonificacao controle = new ControleBonificacao();

        controle.registra(g1);
        controle.registra(f);
        controle.registra(ev);

        System.out.println(controle.getSoma());
    }

}

Na classe "EditorVideo" eu queria mostrar a mensagem mais a bonificação(obs: não é o salário somado a bonificação, mas somente a bonificação). O problema é que a mensagem do Sysout está duplicada e eu não faço a mínima ideia do porque, me ajudem por favor D=. (todas as demais classes estão iguais as passadas em aula, caso seja necessário é só pedir).

1 resposta
solução!

Já descobri o meu erro hehe. Errado:

public void registra(Funcionario f) {        

        double boni = f.getBonificacao();
        this.soma = this.soma + f.getBonificacao();                
    }    

Correto:

public void registra(Funcionario f) {        

        double boni = f.getBonificacao();
        this.soma = this.soma + boni;                
    }