Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Erro no código da ContaCorrenteRicardo -

import { Cliente } from "./Cliente.js"; import { ContaCorrente } from "./ContaCorrente.js";

const cliente1 = new Cliente(); cliente1.nome = 'Ricardo'; cliente1.cpf = 11122233309;

const ContaCorrenteRicardo = new ContaCorrente(); ContaCorrenteRicardo.agencia = 1001; ContaCorrenteRicardo.cliente = cliente1;

ContaCorrenteRicardo.depositar(100); ContaCorrenteRicardo.depositar(100); ContaCorrenteRicardo.depositar(-100);

const valorSacado = ContaCorrenteRicardo.sacar(50); console.log(ContaCorrenteRicardo);

const cliente2 = new Cliente(); cliente2.nome = "Alice"; cliente2.cpf = 88822233309;

export class ContaCorrente { agencia; cliente; // Corrigido para a propriedade 'cliente' com minúscula

_saldo = 0;

// Método para sacar dinheiro
sacar(valor) {
    if (this._saldo >= valor) {
        this._saldo -= valor;
        return valor;
    }
    return 0; // Retorna 0 caso o saque não seja possível
}

// Método para depositar dinheiro
depositar(valor) {
    if (valor <= 0) {
        return;
    }
    this._saldo += valor;
}

} export class Cliente { nome; cpf; }

Eu fiz o código, conforme na aula, no entanto ele não está imprimindo as informações contidas na ContaCorrenteRicardo, e imprimindo apenas o nome cliente. Não estou conseguindo entender o erro.

1 resposta
solução!

Oi Luis,

Analisando seu código, o problema está na forma como você está visualizando as informações da ContaCorrenteRicardo.

O console.log(ContaCorrenteRicardo) irá mostrar o objeto ContaCorrente com suas propriedades, incluindo o _saldo, que é uma propriedade privada (por convenção, o _ indica isso em JavaScript).

Para visualizar o saldo, você precisa acessar a propriedade diretamente ou criar um método para isso. Veja um exemplo de como você pode fazer isso:

// Na classe ContaCorrente:
get saldo() {
    return this._saldo;
}

// No seu código principal:
console.log(ContaCorrenteRicardo.saldo); // Imprime o saldo atual
console.log(ContaCorrenteRicardo); // Imprime o objeto ContaCorrente

Além disso, notei que você está definindo o cliente como uma propriedade da classe ContaCorrente, o que está correto. No entanto, para acessar as propriedades do cliente, você precisará fazer algo como ContaCorrenteRicardo.cliente.nome ou ContaCorrenteRicardo.cliente.cpf.

Outro ponto importante é que, no seu código, você está tentando depositar um valor negativo, o que é tratado corretamente pelo seu método depositar, que não permite depósitos negativos. 👍

Para saber mais: Encapsulamento em JavaScript

Continue praticando e explorando as funcionalidades da linguagem! 💪 💻

tux matrix Caso este post o tenha ajudado, marque-o como solucionado ☑️. Bons Estudos! 🤓