Olá! Eu realmente não consegui entender o objetivo de criar um método _saque (teria sido para mostrar a possibilidade de fazer métodos privados?)... Eu havia resolvido esse sistema do saque usando o super, sem usar o _saque, e não houve diferença entre o resultado. Existe algo por trás que não estou conseguindo enxergar?
Segue o modo que resolvi (criei estes consoles.log para cada operação para que o terminal exibisse como se fosse um comprovante da transação para eu acompanhar):
Código na classe Conta:
sacar(valor,taxa){
const valorSacado = valor*taxa;
if(valor==0){
console.log(`\nSAQUE\n***Saque não efetuado - valor inválido***\n`)
return
}
if(this._saldo < valorSacado){
console.log(`\nSAQUE\nAgência: ${this.agencia}\nConta: ${this.conta}\nValor sacado: ${valor}\n***Saldo insuficiente para o saque***\nSaldo atual: ${this._saldo}\n`);
return;
}else{
this._saldo -= valorSacado;
console.log(`\nSAQUE\nAgência: ${this.agencia}\nConta: ${this.conta}\nValor sacado: ${valor}\n***Saque efetuado com sucesso***\nSaldo atual: ${this._saldo}\n`);
}
}
Código na classe ContaCorrente:
sacar(valor){
let taxa = 2;
super.sacar(valor,taxa);
}
Eu não sei se, por trás de tudo, existe algum problema em resolver assim. E gostaria de saber o benefício de trabalhar com o _saque.
Obrigado!!