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

Método sobrescrito

Oi, pessoal, tudo bem?

Queria entender o porquê de no método sobrescrito (da ContaCorrente) sacar e no sacar da Conta nós não precisamos colocar a taxa como argumento. No _sacar da classe Conta a gente coloca..não entendi mto bem o porque dessa diferença. A gente nao poderia deixar como argumento e definir o valor da taxa na chamada do metodo, por exemplo?

Na classe ContaCorrente

 sacar(valor) {
        let taxa = 1.1;
        return super._sacar(valor, taxa);
    }

Na classe Conta

sacar(valor) {
       let taxa = 1;
       return this._sacar(valor, taxa);
    }


    _sacar(valor, taxa) {
        const valorSacado = taxa * valor;
        if(this.valor >= valorSacado) {
            this._saldo -= valorSacado;
            return valorSacado;
        }

        return 0;
    }   
1 resposta
solução!

Vinícius,

Pelo que entendi do seu código, quando a função sacar for chamada, não deve ficar a critério de quem a está chamando definir qual vai ser a taxa, por isso ela é um valor fixo dentro de cada método sacar.

Veja que o método que possui a taxa como parâmetro está prefixado com _, o que significa que ele não deve ser consumido diretamente pelas instâncias. É um método "privado".

Em resumo, quem "sacar" pela conta corrente vai estar sacando com a taxa 1.1 e quem sacar pela Classe conta, vai sacar com a taxa 1.

Espero ter ajudado. Abraço!