1
resposta

Taxa não está sendo cobrada

Quando dou console.log o valor do que sai sem a taxa de 10%... Alguém poderia me auxiliar a achar o erro? segue abaixo os códigos.

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("Cadu", 12345678901);

const conta1 = new ContaCorrente(cliente1, 1001);
conta1.depositar(1500);
conta1.sacar(100);


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

console.log(conta1);

Conta.js

import { Cliente } from "./Cliente.js";
export class Conta{
    constructor(saldoInicial, cliente, agencia){
        this._saldo = saldoInicial;
        this.cliente = cliente;
        this._agencia = agencia;
    }

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

    get cliente(){
        return this._cliente;
    }

    _saldo = 0;

    get saldo(){
        return this._saldo;
    }

    sacar(valor){
        let taxa = 1
        const valorSacado = taxa * valor;
        if (this._saldo >= valor){
            this._saldo -= valor;
            return valorSacado;
        }

ContaCorrente.js

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

export class ContaCorrente extends Conta {
    static numeroDeContas = 0;
    constructor(cliente, agencia){
        super (0, cliente, agencia);
        ContaCorrente.numeroDeContas += 1;
    }
    sacar(valor){
        let taxa = 1.1;
        const valorSacado = taxa * valor;
        if (this._saldo >= valor){
            this._saldo -= valor;
            return valorSacado;
        }
    }
}
1 resposta

Fala Mestre tudo certo? cometi o mesmo erro que você e quebrei cabeça mas é bem simples, quando você subscreveu o sacar() na ContaCorrente Você atribuiu uma const chamada valorSacado só que não mudou os termos que antes eram saldo por valorSacado segue exemplo:

sacar(valor){
        let taxa = 1.1;
        const valorSacado = taxa * valor;
        if (this._saldo >= valorSacado){
            this._saldo -= valorSacado;
            return valorSacado;
        }``
        }``

Não sei se fui claro, mas qualquer coisa estamos ai!

abraço.