Pessoal estou com duvida com relação ao retorno esperado do teste, se era este mesmo. Vou colocar os códigos aqui, mas estranhei nao retornar o valor de cada bonificação em separado. Era este o resultado esperado?
Funcionário
public class Funcionario {
private String nome;
private String cpf;
private double salario;
public String getNome() {
return nome;
}
public double getBeneficio() {
return this.salario * 0.1;
}
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;
}
}
Gerente
public class Gerente extends Funcionario {
private int senha;
public boolean autentica(int senha){
if (this.senha == senha) {
return true;
} else {
return false;
}
}
public double getBeneficio() {
return super.getSalario() + super.getBeneficio() ;
}
public void setSenha(int senha) {
this.senha = senha;
}
}
Controle de Bonificação (utilizei beneficio como palavra chave)
public class ControleBonificacao {
private double soma;
public void registra(Funcionario f) {
this.soma += f.getBeneficio() ;
}
public double getSoma() {
return soma;
}
}
Editor de Vídeo
public class EditorVideo extends Funcionario {
public double getBeneficio(){
System.out.println("Chamando método de bonificação do EDITOR DE VIDEO");
return 150;
}
}
Designer
public class Designer extends Funcionario {
public double getBeneficio(){
System.out.println("Chamando método de bonificação do DESIGNER");
return 200;
}
}
Teste da referência
public class TesteReferencia {
public static void main(String[] args) {
Funcionario f = new Funcionario();
Funcionario g1 = new Gerente();
Funcionario ev1 = new EditorVideo();
Funcionario d1 = new Designer();
ControleBonificacao controle = new ControleBonificacao();
g1.setSalario(1000.0);
ev1.setSalario(2000.0);
d1.setSalario(3000.0);
f.setSalario(500.0);
controle.registra(d1);
controle.registra(ev1);
controle.registra(g1);
controle.registra(f);
System.out.println("Total de bonificação R$ " + controle.getSoma());
}
}
Retorno ao rodar: Chamando método de bonificação do DESIGNER Chamando método de bonificação do EDITOR DE VIDEO Total de bonificação R$ 1500.0
Era este o retorno esperado? Sinto que errei em algo, e o ideal era que tivesse aqui o valor de bonificação de cada um...