Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Conta corrente não prioriza a classe sacar com a taxa

Ao add a classe sacar na conta corrente, ela não é priorizada ao invés da classe sacar do arquivo Conta.js. Em Conta.js, a taxa de cobrança pra "função" é de 1. Em ContaCorrente.js a taxa é de 1.1. Preciso que a taxa de 1.1 seja priorizada.

Segue abaixo código do arquivo conta.js em primeiro e em seguida o código ContaCorrente.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;
    }
    get saldo() {
        return this._saldo;
    }

    sacar(valor) {

        let taxa = 1;
        const valorSacado = taxa * valor;

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

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

    tranferir(valor, conta) {

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

    }
}

Código 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 >= valorSacado) {
            this._saldo -= valorSacado;
            return valorSacado;
        }
    }
}
2 respostas
solução!

Fala Yan, tudo bem?

Eu fiz os testes aqui e está funcionando normalmente, quando eu crio uma conta utilizando a classe ContaCorrente e faço o saque, o valor da taxa é de 1.1, o que eu acredito que esteja acontecendo é que você está criando uma conta utilizando a classe Conta que a taxa é de 1, então verifique se aonde você está executando o saque, a classe instanciada é ContaCorrente e não Conta. Se possui nos mandar o código completo de onde você faz o saque.

Aguardo o retorno!

Show!! Obrigado Mateus! Estava chamando por Conta mesmo, e não ContaCorrente. Obrigado pela ajuda brother!