Como garantir que o atributo saldo da classe Conta seja alterado apenas pelo método "depositar(valor)" , se o método "Object.freeze(this)" congela o objeto todo, impedindo, inclusive, deposito?
Como garantir que o atributo saldo da classe Conta seja alterado apenas pelo método "depositar(valor)" , se o método "Object.freeze(this)" congela o objeto todo, impedindo, inclusive, deposito?
Boa noite, Williams! Como vai?
No JavaScript não tem como ter essa garantia pois não há encapsulamento. Justamente por isso existe a convenção de utilizar o _
(underline) antes do nome dos atributos privados de modo a dar uma pista visual para quem estiver programando de que aquele atributo é privado e, portanto, não é para ser acessado diretamente.
Pegou a ideia? Qualquer coisa é só falar!
Grande abraço e bons estudos, meu aluno!