Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Utilidade final dos Getters e Setters

Pelo explicação, aparentemente quando se define os getters e setters, pode-se acessar as propriedades e modificá-las utilizando esses métodos, porém a sintaxe fica como de propriedade. Não daria na mesma coisa se as propriedades fossem públicas?

2 respostas
solução!

Oi Lucas,

Um objeto com propriedades públicas pode ser facilmente modificado por qualquer parte do código; por exemplo, um objeto const obj = { saldo: 100 }, se estiver "disponível", pode ser alterado apenas com a linha obj.saldo = 1000.

Então a função dos getters e setters é justamente "proteger" as propriedades, pois é possível implementar internamente verificações e validações (por exemplo) que impeçam uma modificação como a que foi feita acima.

Quando temos um setter implementado, para o restante do código a forma de acessar e modificar a propriedade é a mesma na aparência (obj.saldo = valor, por exemplo), porém internamente não é a mesma - pode haver dentro do setter uma validação para saber se a parte do código tem permissão para fazer a alteração, etc.

Espero ter ajudado!

Bons estudos ;)

Entendi, esclareceu muito bem! Obrigado.