2
respostas

[Dúvida] Passagem de parâmetro na invocação do método.

Olá! Fiquei em dúvida na questão do parâmetro que se está passado para o método "Conta destino". Ainda não entendi perfeitamente.

    if(contaDaMarcela.transferir(258.74, contaPaulo)) {
        contaPaulo.imprimirResultado(conseguiuOperar);            
    };

    public boolean transferir(double valor, Conta destino) {
    if(this.saldo >= valor) {
        this.saldo -= valor;
        destino.depositar(valor);
        return true;
    }
        return false;
}

Agradeço a ajuda!

2 respostas

Olá Anderson!

O parâmetro Conta destino que está sendo recebido no método transferir(); é um objeto do tipo Conta, ele será a conta de destino onde receberá o valor que também está sendo passado na variável valor do tipo double.

    if(contaDaMarcela.transferir(258.74, contaPaulo))  // o argumento "contaPaulo" deve ser uma referência(endereço na memória) do objeto instanciado da classe "Conta".
    {
        contaPaulo.imprimirResultado(conseguiuOperar);            
    };
    public boolean transferir(double valor, Conta destino)  // então neste caso, destino passa a ser "contaPaulo"(referencia para o objeto).
    {
    if(this.saldo >= valor) {
        this.saldo -= valor;
        destino.depositar(valor); // assim, esta linha de código se torna semelhante a contaPaulo.depositar(258.74)
        return true;
    }
        return false;
}