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

Código idêntico não funciona

Eu escrevi literalmente tudo igual, mas não funciona

class Conta{
    constructor(saldo){
        this._saldo = saldo;
    }

    get saldo(){
        return this._saldo;
    }

    atualiza(taxa){
        throw new Error('O método deve ser sobrescrito');
    }
}
class ContaCorrente extends Conta{
    atualiza(taxa){
        this.saldo = this._saldo + taxa;
    }
}
class ContaPoupanca extends Conta{
    atualiza(taxa){
        this._saldo = this._saldo + taxa * 2;
    }
}
conta1 = new ContaCorrente(200); 
conta2 = new ContaPoupanca(300); 
conta1.atualiza(2);
conta2.atualiza(3);
console.log(conta1.saldo); //202
console.log(conta2.saldo);

Quando copiei o código funcionou, mas o meu não funciona, esse é o erro

TypeError: Cannot set property saldo of #<Conta> which has only a getter
2 respostas
solução!

Voce errou na digitacao. voce colocou this.saldo ao invez de colocar this._saldo na classe ContaCorrente

Ah muito obrigado, revi esse código umas 10 vezes e não encontrava nada rs, ajudou demais!