Olá,
Vamos supor que eu quero congelar uma classe, para que o usuario possa modifica-la apenas se usar os metodos disponiveis pela classe.
Por exemplo :
class Conta {
constructor(titular, conta, saldo){
this._titular = titular;
this._conta = conta;
this._saldo = saldo;
}
deposita(valor){
console.log('Valor depositado' + ' ' + valor)
this._saldo+=valor
}
get saldo(){
return this._saldo
}
get titular(){
return this._titular
}
get conta(){
return this._conta
}
}
Vamos supor que eu congelo a classe
class Conta {
constructor(titular, conta, saldo){
this._titular = titular;
this._conta = conta;
this._saldo = saldo;
Object.freeze(this)
}
deposita(valor){
console.log('Valor depositado' + ' ' + valor)
this._saldo+=valor
....
}
Caso eu queria "depositar" atráves do metodo a classe nao vai permirtir não ? Como poderia fazer que as propriedades ficassem "seguras" mas os metodos funcionassem ?
Não sei se a pergunta ficou clara ou se ela faz sentido ahah, Enfim obrigado pela atenção.