Já que estamos trabalhando com polimorfismo porque o Gerente o salario é chamado como g1.setSalario e os outros são chamados como f.setSalario ?
public class TestaReferencias {
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());
}
}