Fiquei com dúvida nesta parte da troca de
"_saldo" para "saldo"
dentro dos métodos de verificação da classe ContaCorrente. Porque isso foi feito? Não seria melhor ter deixado tudo "_saldo"?
Dei RUN com o código abaixo e funcionou corretamente.
class ContaCorrente {
Cliente titular;
int agencia;
int conta;
double _saldo = 20.0;
double chequeEspecial = -100;
get saldo{
return _saldo;
}
set saldo(double novoSaldo){
if(novoSaldo >= chequeEspecial){
_saldo = novoSaldo;
}else{
print("Erro! Tentei modificar o valor de saldo para um valor menor que o queque especial.");
}
}
bool verificaSaldo(double valor){
if(this._saldo - valor < chequeEspecial){
print("Sem saldo suficiente.");
return false;
}else{
print("Movimentando $valor reais.");
return true;
}
}
bool transferencia(double valorDeTransferencia, ContaCorrente contaDestino){
if(verificaSaldo(valorDeTransferencia)){
this._saldo -= valorDeTransferencia;
contaDestino.deposito(valorDeTransferencia);
return true;
}else{
return false;
}
}
bool saque(double valorDoSaque){
if(verificaSaldo(valorDoSaque)){
this._saldo -= valorDoSaque;
return true;
}else{
return false;
}
}
double deposito(double valorDoDeposito){
this._saldo += valorDoDeposito;
return this._saldo;
}
}