3
respostas

Aula 3 - Métodos com retornos e referências

Olá, São duas dúvidas : No argumento do if podemos utilizar this ou não, que funciona, mas qual é a melhor prática? E nos parâmetros de 'transfere', Conta destino está criando um objeto para o método 'transfere'? Nesse mesmo método, o java referencia o objeto que criei ( por exemplo contaDoPaulo ) e atribui ao objeto 'destino'? Entendi corretamente? Muito obrigado!

public boolean transfere(double valor, Conta destino) {
        if(saca(valor)) {
            destino.deposita(valor);
            System.out.println("\nTransferência realizada com sucesso!\n");
            return true;
        } else {
            return false;
        }
3 respostas

Olá Ronald. Sim, a boa prática é sempre usar o this para enfatizar que esta se referindo ao objeto em questão. Sobre o parametro Conta do método transfere....não! Você apenas esta indicando que o método transfere devera receber objetos do tipo Conta como parâmetro, assim como um "valor" do tipo double. Sendo assim, sua útilma colocação esta correta, o java "atribui" destino ao objecto criado anteriormente por você, no caso "contaDoPaulo".

Esse "atribui" é uma referência? Tipo um ponteiro em C? Ambos, destino e contaDoPaulo, apontam para o mesmo endereço de memória, quando invocado?

Sim, acaba sendo uma referência. Quando você passa um objeto do tipo Conta nos parâmetros o java vai entender que você quer substituir onde estiver com "destino" para o objeto referenciado, no seu caso, contaDoPaulo.