Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

método registra editor de video e design só compila em ControleBonificacao pq?

public class ControleBonificacao{

    private double soma;

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

    public double getSoma(){
        return this.soma;
    }

    public void registra(EditorVideo ev) {
    }

    public void registra(Designer d) {
    }

}
public class TestaReferencias{
    public static void main(String[] args) {
        Gerente g1= new Gerente();
        g1.setNome("Marcos");
        g1.setSalario(4000.0);

        EditorVideo ev = new EditorVideo();
        ev.setSalario(2600.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());

    }
}
3 respostas

Oi Jailson

Em quais outras classes você gostaria de colocar esses métodos?

Resolvido!!! mas obrigado pela atenção! as outras mesmas classes apresentadas no vídeo.

solução

Eu resolvi com a seguinte forma: criando as classes Separadas herdando de Funcionario

//Gerente eh um Funcionario, Gerente herda da class Funcionario
public class Designer extends Funcionario {

    public double getBonificacao() {
        System.out.println("Chamando o método de bonificacao do Designer");
        return 200;
    }    

}
//Gerente eh um Funcionario, Gerente herda da class Funcionario
public class EditorVideo extends Funcionario {

    public double getBonificacao() {
        System.out.println("Chamando o método de bonificacao do Editor de video");
        return 150;
    }    

}