public class TestaReferencia {
public static void main(String[] args) {
Gerente g1 = new Gerente();
g1.setSalario(5000);
Funcionario f1 = new Funcionario();
f1.setSalario(2000);
EditorVideo ev1 = new EditorVideo();
ev1.setSalario(3000);
ControleBonificacao controle = new ControleBonificacao();
controle.registra(f1);
controle.registra(ev1);
controle.registra(g1);
System.out.println(controle.getSoma());
}
`
public class Funcionario {
private String nome;
private String cpf;
private double salario;
public double getBonificacao() {
System.out.println("funcionario");
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;
}
}
``
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;
}
}
`
funcionario funcionario funcionario 1000.0