6
respostas

Algum erro

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

6 respostas

index.js

import {Cliente} from "./Cliente.js"
import {ContaCorrente} from "./Contacorrente.js"
import { ContaPoupanca } from "./ContaPoupanca.js";
import {Conta} from "./Conta.js"

const cliente1 = new Cliente("Ricardo", 11122233309);


const contaCorrenteRicardo = new Conta(0, cliente1, 1001);
contaCorrenteRicardo.depositar(500);
contaCorrenteRicardo.sacar(100);

const ContaPoupanca = new Conta(50, cliente1, 1001);

console.log(ContaPoupanca);
console.log(ContaCorrente.numeroDeContas);

ContaPoupanca.js

export class ContaPoupanca {
    constructor(saldoInicial, cliente, agencia){
        this._saldo = saldoInicial;
        this._cliente = cliente;
        this._agencia = agencia;
    }

    sacar(valor){
        if(this._saldo >= valor) {
            this._saldo -= valor;
            return valor;
        }
    }
    depositar(valor){
        if(valor <= 0){
            return;
        }
        this._saldo += valor;
    }
    transferir(valor, conta){
        const valorSacado = this.sacar(valor);
        conta.depositar(valorSacado);
    }
}

Cliente.js

export class Cliente {
    get cpf(){
        return this._cpf;
    }

    constructor(nome, cpf){
        this.nome = nome;
        this._cpf = cpf;
    }
}

ContaCorrente.js

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

export class ContaCorrente {
    static numeroDeContas = 0;

    set cliente(novoValor){
        if(novoValor instanceof Cliente) {
            this._cliente = novoValor;
        }
    }

    get cliente(){
        return this._cliente;
    }

    get saldo(){
        return this._saldo;
    }

    constructor(agencia, cliente){
        this.agencia = agencia;
        this.cliente = cliente;
        this._saldo=0;
        ContaCorrente.numeroDeContas += 1;
    }

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

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

Não entendi porque deu erro se tá igualzinho o do professor. Alguém sabe me explicar?

O nome da variável ContaPoupanca noindex.js está conflitando com o nome da classe. Basta renomear o nome da variável para começar em minúsculo.

const contaPoupanca = new Conta(50, cliente1, 1001);

console.log(contaPoupanca);
console.log(contaCorrente.numeroDeContas);