3
respostas

Cliente dentro de ContaCorrente retorna cliente = Cliente

Meu código está igual o do instrutor e não entendo o motivo de acontecer isto. quando dou console.log(contaCorrenteRicardo) ele me retorna ContaCorrente {agencia: 1001, cliente: Cliente, saldo: 0}

index.js

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

//Cliente 1:
const cliente1 = new Cliente();
cliente1.nome = "Ricardo";
cliente1.cpf = 11122233309;

//Cliente 2:
const cliente2 = new Cliente();
cliente2.nome = "Alice";
cliente2.cpf = 11122233309;

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

const contaCorrenteAlice = new ContaCorrente();
contaCorrenteAlice.agencia = 1001;
contaCorrenteAlice.cliente = cliente2;

const conta2 = new ContaCorrente();
conta2.cliente = cliente2;
conta2.agencia = 1002;

console.log(contaCorrenteRicardo);

ContaCorrente.js

export class ContaCorrente {
  agencia;
  cliente;

  _saldo = 0;
  // #saldo = 0;
  // proposta: https://github.com/tc39/proposal-class-fields#private-fields

  sacar(valor) {
    if (this._saldo > valor) {
      this._saldo -= valor;
      return valor;
    }
  }

  depositar(valor) {
    if (valor < 0) {
      return;
    }
    this._saldo += valor;
  }
}

Cliente.js

export class Cliente {
  nome;
  cpf;
}

Agradeço desde já quem me ajudar a entender valeu!

3 respostas

Mano acabei de arrumar isso, a minha lógica é que, como o instrutor ta fazendo , ele coloca o cliente dentro da Classe conta corrente, isso não fez mt sentido pra mim ent fiz o contrário , pois penso, Um cliente tem uma Conta Corrente, e não é a Conta corrente que tem o cliente, tendeu? kkk Então troquei, tirei o cliente da classe contaCorrente, e coloquei a classe contaCorrente no Cliente, assim quando tu quiser chamar , fica mais fácil chamar console.log(cliente) que ele já chama o cliente mais a conta corrente desse cliente junto, entendeste?

Também não vi tanto sentido na lógica dele mano, curti tua ideia! pode compartilhar seu código? estou quebrando cabeça e está complicado mas faz parte kkk. valeu!!

ContaCorrente.js

` export class contaCorrente { agencia; conta;

saldo = 0;

saca(valor) {
    if (valor > 0) {
        if (this.saldo >= valor) {
            this.saldo -= valor;
            console.log(`Saque efetuado com sucesso!`)
            console.log(`Agora seu saldo é de ${this.saldo}.`)
            return valor;
        } else {
            console.log("Saldo insuficiente para operação.")
        }
    }

}

deposita(valor) {
    if (valor > 0) {
        this.saldo += valor;
        console.log(`Depósito efetuado com sucesso!`)
        console.log(`Agora seu saldo é de ${this.saldo}.`)
        return valor;
    } else {
        console.log("Valor indisponível para depósito.")
    }

}

transfere(valor, contaCorrente) {
    const valorTransf = this.saca(valor);
    contaCorrente.deposita(valorTransf);
}

} `

Cliente.js


export class Cliente {
    nome;
    cpf;
    contaCorrente;
}