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

a função transferencia n é realizada

index.js

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

const cliente1 = new cliente();

cliente1.nome = "Arthur";
cliente1.cpf = 15146738799;


const cliente2 = new cliente();

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



const contaCorrenteArthur = new contaCorrente();
contaCorrenteArthur._saldo = 0;
contaCorrenteArthur.agencia = 1001;
contaCorrenteArthur.cliente = cliente1;
contaCorrenteArthur.depositar(500);


const conta2= new contaCorrente();
conta2._saldo = 0;
conta2.cliente = cliente2;
conta2.agencia = 102;
conta2.depositar(200);

contaCorrenteArthur.transferir(200 , conta2)


console.log(contaCorrenteArthur);
console.log(conta2);

Cliente.js

 export class cliente {
    nome;
    cpf;

}

ContaCorrente.js

export class contaCorrente {
    agencia;
    cliente;
 


    _saldo;

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

    }

    depositar(valor) {
        if (valor <= 0)  return; // tecnica early return para n ter codigos enormes com vaiors if's grandes pode se fazer as condições ja com interrupções;
        

        this._saldo += valor;

    }

    transferir(valor, conta){
        const valorSacado = this.sacar(valor);
        conta.depositar(valorSacado);
    }

}

package.json

{
  "name": "bytebank",
  "version": "1.0.0",
  "description": "projeto bytebank para clientes",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "Arthur",
  "license": "ISC",
  "type": "module"
}

porem no terminal a transferencia não occorre e o saldo da conta dois é exibido como NaN

terminal

byteBank.js> node .\index.js
contaCorrente {
  agencia: 1001,
  cliente: cliente { nome: 'Arthur', cpf: 15146738799 },
  _saldo: 500
}
contaCorrente {
  agencia: 102,
  cliente: cliente { nome: 'Alice', cpf: 15167738799 },
  _saldo: NaN
}
1 resposta
solução!

Oi, Arthur

Corrija para "this._saldo"


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

    }

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software