1
resposta

Atributo privado

Não entendi por que o atributo saldo não está privado.

class Cliente{
    nome;
    cpf;  
}

class ContaCorrente{
    agencia;
    #saldo = 0;

    sacar(valor){
        if (this.#saldo >= valor) {
            this.#saldo -= valor;
            console.log(this.#saldo);
        } else {
            console.log("Você não tem saldo suficiente");
        }
    }

    depositar(valor){
        if (this.valor > 0) {
            this.#saldo += valor;
            console.log(this.valor);
        } else {
            console.log("Operação indisponível");
            console.log(this.valor);            
         }
    }

}


const cliente1 = new Cliente();
const cliente2 = new Cliente();

cliente1.nome = "Ricardo";
cliente1.cpf = 11122233309;

cliente2.nome = "Alice";
cliente2.cpf = 88822233309;

const contaCorrenteRicardo = new ContaCorrente();
contaCorrenteRicardo.saldo = 0;
contaCorrenteRicardo.agencia = 1001;
console.log(contaCorrenteRicardo.saldo);

contaCorrenteRicardo.saldo = 800;
console.log(contaCorrenteRicardo.saldo);

contaCorrenteRicardo.sacar(80);

contaCorrenteRicardo.depositar(100);


console.log(cliente1);
console.log(cliente2);
1 resposta

contaCorrenteRicardo.saldo = 0;

nessa linha tu cria um novo atributo com o nome saldo

se tu tentar contaCorrenteRicardo.#saldo = 100;

vai ver que nao vai conseguir abraco