Para evitar redundância de código, fiz a implementação um pouco diferente, subscrevi apenas o valor a considerar de saldo e criei o método privado com a lógica. Ficou bom?
**class Conta...**
void enviar(double saque) {
_finalizarEnvio(_saldo, saque);
}
void _finalizarEnvio(double saldo, double saque) {
if (saldo < saque) {
stdout.write("Saldo insuficiente para enviar R\$${saque.toStringAsFixed(2)}. ");
} else {
_saldo -= saque;
stdout.write("Enviado R\$${saque.toStringAsFixed(2)} por $titular. ");
}
imprimeSaldo();
}
**class ContaCorrente...**
@override
void enviar(double saque) {
_finalizarEnvio(_saldo + emprestimo, saque);
}