Olá Yasmin, tudo bem com você? Espero que sim...
Para que possamos entender o que está acontecendo no seu trecho de códigos, vamos aprofundar, e entender o que está acontecendo nas entrelinhas.
- A sua classe ControleBonificacao possui pelo menos 2 métodos e 1 atribulto, vou replica-la aqui
public class ControleBonificacao {
private double totalBonificacao;
public void registra(double valorBonificacao) {
this.totalBonificacao += valorBonificacao;
}
private double getSoma() {
return this.totalBonificacao;
}
}
Essa classe então, tem um atributo que guardará os valores das bonificações através do método registra.
E para recuperarmos esse valor, utilizei um método getSoma, que poderia ou não ter o mesmo nome que a variável no qual os valores ficarão armazenados, geralmente é o que acontece, mas optei por explicar dessa forma, para que não tenha dúvidas do que está acontecendo.
O método registra
, deve receber um valor como argumento, para que ele possa guarda-lo dentro do atributo totalBonificacao
.
De forma abstraída podemos dizer que você esta pegando a bonificação do funcionário g
, f
, ev
.
Funcionario gerenteYasmin = new Gerente();
Funcionario programadorLucas = new Programador();
Funcionario editorNico = new Editor();
double g = gerenteYasmin.getBonificacao();
double f = programadorLucas.getBonificacao();
double ev = editorNico.getBonificacao();
ControleBonificacao controle = new ControleBonificacao();
controle.registra(g);
controle.registra(f);
controle.registra(ev);
System.out.println(controle.getSoma());
Então supondo que o valor de g = 100
, de f = 200
e de ev = 300
Na primeira vez que você chamou o método, foi adicionado o valor de 100 ao atributo privado da classe, que aqui no nosso exemplo é totalBonificacao
, na segunda vez o atributo valia 100 e adicionamos mais 200, nesse ponto o totalBonificacao
vale 300, e por último invocamos o método registra
mais uma vez que realiza mais uma somatória ao atributo da classe, dessa vez temos 300 do valor pré existente das outras chamadas, + 300 do valor atual da chamada do método, totalizando 600.
Nas sequência apenas utilizamos o método getSoma
para recuperar, buscar, ler o valor que está dentro da variável do atributo.
Faça os testes, experimente, não tenha medo de errar.
Espero ter ajudado a esclarecer sua dúvida. Se tiver mais alguma questão, é só perguntar!
Uma ótima semana e bons estudos.
Caso este post tenha lhe ajudado, por favor, marcar como solucionado . Bons Estudos