3
respostas

o meu sacar na conta corrente não está funcionando

Boa noite!

Fiz passo a passo e revi várias vezes mas devo estar deixando algum detalhe passar. Ao copiar o meu sacar para o conta corrente e fazer a especialização nele, ele não funciona como deveria. No terminal continua aparecendo saldo de 400 em vez de 390 como o do professor.

Código conta corrente:

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

}`

Código Conta:

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){      

        this._saldo += valor;           
    }

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

    }
}
3 respostas

Acredito que seja porque o seu método sacar está retornando o valor "valorSacado" apenas dentro dentro do if, coloca o return fora do if para ver se funciona.

Eu tentei e infelizmente continuou dando o mesmo resultado. Mas muito obrigada pela dica

Débora,

Acho que vale a pena copiar também a parte do código do index.js onde cria é criado o objeto e chama seus respectivos métodos.

Pode ser que esteja criando um objeto da classe Conta invés da classe ContaCorrente e por isso não está aplicando a taxa.