Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvida sobre Getter

No curso Java Polimorfismo, o professor define o método: public double getBonificacao(){ return this.bonificao = salario * 0,1; }

Fiquei com dúvida se nesse caso seria melhor o uso do set, já que o Get apenas "pega" a informação referenciada, enquanto o set é quem é o responsável pelas alterações.

1 resposta
solução!

Fala Queren, tudo certinho?

Nesse caso, como a bonificação de um funcionário é pré-determinada como uma regra de negócio, precisamos apenas do método getter, que vai nos retornar o valor da bonificação calculada. No caso de implementarmos o método setter, vamos permitir que a bonificação seja alterada durante a execução do programa, o que poderia ser considerada uma má prática de encapsulamento.

Vamos imaginar que ao implementar o método setter, alguém em algum ponto do código implemente essa linha:

funcionario.setBonificacao(100000000);

O objeto funcionario agora vai receber uma bonificação muito grande, que não condiz com as regras de negócio da empresa, o que é um comportamento indesejado.

Em suma, quando queremos apenas acessar um valor, seja ele fixo, como um atributo do objeto, ou calculado, como é o caso da bonificação, utilizamos um método acessor, ou getter. O método setter é utilizado apenas quando queremos que um atributo possa ser alterado em outros lugares do código, ao não ser a própria classe, que pelo encapsulamento, deve ser responsável pelas alterações que ocorrem em seu interior.

Em caso de dúvidas, estou à disposição.

Um grande abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!