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

Resultados diferentes

Já achei o erro, mas não consegui apagar o post, por isso coloquei como resolvido.

Acredito que tenha feito o código de maneira igual, pelo menos não percebi o que está diferente, pois os meus resultados foram diferentes, gostaria de uma ajudar pra entender o que fiz de errado . Insira aqui a descrição dessa imagem para ajudar na acessibilidade

public class TesteReferencias {

    public static void main(String[] args) {

        Gerente g1 = new Gerente();
        g1.setNome("Marcos");
        g1.setSalario(5000.0);

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

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

        ControleBonificacao controle = new ControleBonificacao();
        controle.registra(g1);
        controle.registra(f);
        controle.registra(ev);

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

    }

}
public class ControleBonificacao {

    private double soma;


    public void registra(Funcionario f) {
        double boni = f.getBonificacao();
        this.soma = this.soma + boni;
    }


    public double getSoma() {
        return soma;
    }
}
public class Gerente extends Funcionario {


    private int senha;

    public void setSenha(int senha) {
        this.senha = senha;
    }

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


    public double getBonificao() {
        System.out.println("Chamando o metodo de Bonificacao do Gerente");
        return super.getBonificacao() + super.getSalario();
    }
}

public class Funcionario {

    private String nome;
    private String cpf;
    private double salario;

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

    public String getNome() {
        return nome;
    }
    public void setNome(String nome) {
        this.nome = nome;
    }
    public String getCpf() {
        return cpf;
    }
    public void setCpf(String cpf) {
        this.cpf = cpf;
    }
    public double getSalario() {
        return salario;
    }
    public void setSalario(double salario) {
        this.salario = salario;
    }

}
public class EditorVideo extends Funcionario {

    public double getBonificacao() {
        System.out.println("Chamando o método de bonificacao do Editor de Video");
        return super.getBonificacao() + 100;
    }

}
1 resposta
solução!

Consegui achar o erro .