Boa noite,
Quando eu chamo o método registra no objeto controle da classe Gerente, não me retorna o método Bonificacao do gerente, só me retorna da classe EditorVideo.
Poderia me ajudar por favor:
Classe Gerente
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 getBonificacao(){
System.out.println("Chamando o método de bonificação do GERENTE");
return super.getBonicacao() + super.getSalario();
}
}
/*
@Override
public double getBonicacao() {
return super.getBonicacao();
}
*/
Classe: ControleBonificacao
public class ControleBonificacao {
private double soma;
public void registra(Funcionario f){
double boni = f.getBonicacao();
this.soma = this.soma + boni;
}
public double getSoma(){
return this.soma;
}
Classe: TestaReferencias
public class TesteReferencias {
public static void main(String[] args) {
Gerente g1 = new Gerente();
g1.setNome("Thaynara");
g1.setSalario(5000.0);
Funcionario f1 = new Funcionario();
f1.setSalario(2000.0);
EditorVideo ev = new EditorVideo();
ev.setSalario(2500.0);
ControleBonificacao controle = new ControleBonificacao();
controle.registra(g1);
controle.registra(f1);
controle.registra(ev);
System.out.println(controle.getSoma());
}
}
Imprime isso para mim: