2
respostas

Declaração do Método

Estou na dúvida na declaração do método:

public void deposita(double valor) {

    this.saldo += valor;

}

public boolean saca(double valor){
    if(this.saldo>= valor) {
        this.saldo -= valor;
        return true;
    } else {
        return false;
    }

    Por que no deposita uso void e no saca não?

    Porque um retorna valor e o outro não?

    Gratidão.

    Aguardo retorno.
2 respostas

Olá Fernanda, tudo bem?

O uso do void para o método deposita significa que ele não retorna nenhum valor. Já o método saca retorna um valor do tipo boolean, que representa se a operação de saque foi bem-sucedida ou não. Se o saldo da conta for maior ou igual ao valor que deseja ser sacado, o método retorna true, indicando que o saque foi realizado com sucesso. Caso contrário, o método retorna false, indicando que o saque não pôde ser realizado.

Olá, Fernanda! Como explicado, todo método deve ter um retorno declarado, mesmo que seja 'void', que significa que não haverá nenhum retorno (vazio). Mas deve ser declarado algo. Tal retorno servirá, caso não seja 'void', para a parte do código que está invocando o referido método. Como no exemplo, retornará um booleano, que possivelmente servirá para uma condição ser validada como verdadeira ou falsa (true or false). No lugar de boolean poderia ter 'double', 'int', 'String'... Void é um retorno, no caso, vazio. Como já deve ter observado, quando se usa o 'void', não se usa a palavra reservada 'return' no método.