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

Duvida - meu resultado está dando 6050.0

o teste de controle é o primeiro codigo, os demais são os objetos criados.

package pedro;

public class TesteReferencia {
    public static void main(String[] args) {

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

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

        Designer d = new Designer();
        d.setSalario(2000.0);


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

        System.out.println(controle.getSoma());
    }
}
package pedro;
//gerente é um funcionario, então ele herda a classe funcionario.
public class Gerente extends Funcionario {

    private int senha;
    private String login;

    public double getBonificacao(){
        System.out.println("chamando o metodo de bonificação do gerente");
        return super.getBonificacao() + super.getSalario();
    }

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

    public void setLogin(String login){
        this.login = login;
    }
    public boolean autentica(String login, int senha){
        if(this.login == login && autentica(senha)){
            return true;
        } else{
            return false;
        }
    }

}
package pedro;

public class Designer extends Funcionario {

    public double getBonificacao() {
        System.out.println("chamando o metodo de bonificação do Designer");
        return 200;
    }
}
package pedro;

public class EditorVideo extends Funcionario {

    public double getBonificacao() {
        System.out.println("chamando o metodo de bonificação do Editor de Video");
        return super.getBonificacao() + 100;
    }
}
package pedro;

public class Funcionario {

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

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

    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;
    }
}
package pedro;

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;
    }
}

toda vez que rodo, meu resultado da um valor diferente do professor, já verifiquei o código um do lado do outro, alguém pode me ajudar?

1 resposta
solução!

consegui achar meu erro.