Olá Marcio, tudo bem com você?
Então, é que no momento estamos com poucas interações entre classes, mas normalmente o retorno booleano é um indicativo para uma outra parte do sistema, por exemplo:
Vamos supor que temos 2 classes:
Sempre que um usuário faz um saque, é enviado um email para alertar o usuário de forma a evitar fraudes, neste caso, o retorno booleano é muito bom pois podemos ter um código:
boolean resultado = conta.saca(valor);
if(resultado) {
enviador.envia(usuario.getEmail());
} else {
throw new Excpetion("Não foi possível sacar");
}
Claro que é um exemplo bem simples, mas na maioria das vezes é mais um indicativo em relação ao fato de ter conseguido realizar a operação ou não.
A mesma coisa pode acontecer com um banco de dados, retornar true
ou false
para categorizar se uma exclusão foi feita de fato
Agora o void
tem mais um sentido de uma operação que faz parte do processo, mas que não precisa indicar nada, por exemplo essa função envia( usuario.getEmail())
pode ser tranquilamente devolver vazio, pois eu não estou interessado no retorno dela, após enviar o email quero prosseguir a execução, não precisos de indicativos para prosseguir
Então é basicamente isso, retornos booleanos geralmente sugerem que precisamos desse resultado para tomar alguma ação ( normalmente algo para o retorno true
e outro false
), enquanto retornos vazios estão relacionados com operações que precisam se executas, mas que não interferem no nosso ciclo de execução =)
Conseguiu Compreender?
Abraços e Bons Estudos!