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

class ContaPoupanca não aparece

Quando rodo meu código, a ponta poupança aparece entre chaves, e não mostra nada; diferente do que o professor mostra :

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

Eu já revisei os códigos, mas não consegui localizar o porque. Seguem os códgos pra me ajudarem.

CONTA POUPANÇA

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;           
    }

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

    }
}

CONTA CORRENTE:

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

export class ContaCorrente{
    static numeroDeContas = 0;
   // #saldo =0 https://github.com/tc39/proposal-class-fields#private-fields


    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;           
    }

    tranferir(valor, conta){

        const valorSacado = this.sacar(valor);
        conta.depositar(valorSacado);

    }
}

INDEX:

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

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

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

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

console.log(ContaPoupanca);
console.log(contaCorrenteRicardo);

Obrigada

1 resposta
solução!

Olá Amanda, como você está?

Peço desculpas pela demora em obter um retorno.

Isto está ocorrendo porque na linha em que você está imprimindo a conta poupança, você está imprimindo a classe ContaPoupanca em vez de uma instância da classe. Ou seja, ao imprimir o objeto da classe ContaPoupanca, você utilizou o nome da classe - com a letra C em maiúsculo e a letra P em maiúsculo, no entanto, o objeto que foi criado dessa classe possui a letra C em minúsculo, dessa forma: contaPoupanca.

Sendo assim, para corrigir o código, substitua a instrução console.log(ContaPoupanca); por console.log(contaPoupanca);, como mostro abaixo:

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

console.log(contaPoupanca);
console.log(contaCorrenteRicardo);

Resultado:

ContaPoupanca {
  _saldo: 50,
  _cliente: Cliente { nome: 'Ricardo', _cpf: 11122233309 },
  _agencia: 1001
}
ContaCorrente {
  agencia: 1001,
  _cliente: Cliente { nome: 'Ricardo', _cpf: 11122233309 },
  _saldo: 400
}

Espero ter ajudado. Não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Em caso de dúvidas estou à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!