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

Método Transferir

Posso usar o método Transferir desta maneira?

public bool Transferir(double valor, ContaCorrente contaDestino)
    {

        if (!this.Sacar(valor))
            return false;

        this.Sacar(valor);
        contaDestino.Depositar(valor);
        return true;
    }
1 resposta
solução!

Olá, Janile. Tudo bom?

Deste modo, você corre o risco de realizar 2 saques para cada transferência. Se a primeira chamada para Sacar retornar true, o return false não será executado e outro saque será feito.

Você pode manter a chamada somente no if ou guardar o resultado em uma variável, para um código mais limpo. Por exemplo:

public bool Transferir(double valor, ContaCorrente contaDestino)
{
    bool saqueComSucesso = Sacar(valor);

    if (!saqueComSucesso)
        return false;

    contaDestino.Depositar(valor);
    return true;
}