Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Qual a diferença entre usar esses metodos?

Método 1:

public double pegaSaldo() { 
        return this.saldo;
    }

Método 2:

public void saldo() {
            System.out.println(this.saldo);
        }
3 respostas

Além da variável, claro

Falae Raphael, tudo certo?

A diferença é que para a classe que chama estes métodos, fica mais claro se vc deixar evidente que seu método retorna um double do que no segundo caso. Desta forma fica mais claro que seja lá o que vc for fazer neste primeiro método ele irá sempre te devolver um double (a nao ser que vc mude o tipo de retorno, kkk).

Já no segundo caso, como o método nao devolve nenhum valor, fica alguns questionamentos. Como eu devo proceder, depois que eu chamei este método? O que este método faz de verdade? Onde está alocado agora o valor que eu alterei via este método?

Mas isso varia de como vc está estruturando o design do seu código.

Segue uma thread do StackOverflow para vc, dar uma olhada:

https://pt.stackoverflow.com/questions/404412/diferen%C3%A7a-entre-um-m%C3%A9todo-com-retorno-e-sem-retorno

Espero ter ajudado, um abraco e bons estudos!! :-)

solução!

Vou te explicar de uma maneira bem simples para ver se você entende, mas se não for essa a sua duvidas, você perguntar novamente.

Método 1:

public double pegaSaldo() { 
        return this.saldo;
    }

De acordo com a aula, esse método ele pegar o valor do saldo da conta e te retorna o valor atual da mesma.

por isso temos um -> double em pegaSaldo() e um return this.saldo; dentro do método

Com isso ao criar um objeto Conta e chamar esse método ele vai te retornar o valor contido dentro deste atributo, essa e a melhor forma não termo acesso direto ao mesmo!

Obs: Vamos supor que todas as vezes que criamos uma conta terá como saldo 500 reais blz?

Ex:


Class TesteAbrirConta{


public static void main(String[] args) {

    Conta conta = new Conta();

    //Aqui eu chamo o pegaSaldo atribui o retorno que ele nos propocionará, e salva ela em saldoAtualDaConta
    double saldoAtualDaConta = conta.pegaSaldo();

//Logo em seguinda mando printa o valor contido dentro de saldoAtualDaConta
    System.out.println("saldo atual da conta é: " + saldoAtualDaConta);

    }
}

Console:
500.0

Método 2:

public void saldo() {
            System.out.println(this.saldo);
    }

Se for colocar esse metodo na sua class e a mesma for chamada, ele apenas irá imprimir o valor no console, e não te retonara nada para alguma trativa etc.

Seu metodo tem -> void saldo(), já especificando que não terá nenhum retorno, quando for chamado podemos usar o void quando querems chamar um método que terá um processamento apenas, mas não precisamos de um retorno da mesma, conforme seu método ele apenas printa na tela o saldo da conta => System.out.println(this.saldo);

Ex:

Class TesteAbrirConta{


public static void main(String[] args) {

    Conta conta = new Conta();

    //Aqui eu chamo o saldo mas como não terei nenhum retorno do mesmo não precisarei salvar em um atributo.
    conta.saldo();

//Logo em seguida o método deve imprimir para min o saldo na tela.

    }
}

Console:
500.0