2
respostas

Dúvida sobre encapsulamento

Simpatizo com a ideia de encapsulamento apresentada no curso, mas tenho uma dúvida de como proceder no seguinte cenário. Digamos que nossa classe acabou crescendo muito e deixou de ser coesa, então temos que mover pedaços da lógica dela para uma outras classes, porém essa lógica acaba alterando o estado do objeto inicial, mas não temos métodos setters para alterar ele. A solução seria criarmos um novo objeto pelo construtor com esse novo estado e descartarmos o primeiro objeto? Isso não poderia causar um aumento indesejado de uso de memória? Fico perdido nesse dilema, alguém consegue me ajudar com ele.

2 respostas

não entendi direito sua dúvida. Será que tem como você criar um pequeno código para exemplificar?

Oi Sabrina, demorei um pouco para responder mas acabou que tirei minha dúvida na aula dois. O professor acabou criando um método (reajustarSalario que foi renomeado para atualizarSalario) para alterar a propriedade do objeto, só que diferente de um simples setter ele atualiza o salário e altera da dataUltimoAjuste.

Uma coisa que eu pensei também, é que esse método poderia chamar a classe ReajusteService, porque dessa forma evitaria alguém chamar o atualizaSalario sem passar pela validação que tem na ReajusteService.