Pessoal, estou com uma dúvida básica...
Qual a diferença dos seguintes códigos?
public void Busca(String nome, Integer idade){
.
.
.
}
public void Busca(){
String nome;
Integer idade;
.
.
.
}
Qual seria a maneira correta de usar?
Pessoal, estou com uma dúvida básica...
Qual a diferença dos seguintes códigos?
public void Busca(String nome, Integer idade){
.
.
.
}
public void Busca(){
String nome;
Integer idade;
.
.
.
}
Qual seria a maneira correta de usar?
Bom,
Parametros sao informacoes que vc pode passar para o metodo, e
que podem influenciar no seu comportamento…
A diferenca aqui seria na hora de chamar a funcao…
Se vc declara busca(String nome), pode filtrar resultados baseados
no parametro…
... busca(String nome){
... select WHERE tabela.nome ILIKE nome ...
}
Ai ja nao serviria com variaveis locais…
Entendeu mais ou menos?
Tem mais,
Se seu parametro for um objeto você na verdade recebeu uma referencia para a posição na memória onde o objeto está.
Isso quer dizer que quando você for alterar o objeto vai estar alterando o objeto na classe que chamou o seu método. Deu para entender?
Isso não acontece quando seu parâmetro é primitivo, pois o mesmo não é passado por referência.
No caso do primitivo, a maior questão é que não se trata de um Object.
A maneira correta neste caso, no meu ponto de vista, tem total relação com a sua necessidade.
Um exemplo, seria se você precisa de uma variavél apenas para executar algo dentro do seu método, sem que a mesma precise ser passada por parametro.
Integer soma(Integer a, Integer b) {
return a + b;
}
Integer soma(Integer a, Integer b) {
Integer result = a + b;
return result;
}
Neste caso, por exemplo, você não precisa enviar o parametro result no método, já que isto não se faz necessário.
Espero ter ajudado.
Abraços.
A maneira correta vc decide. Vc pode usar dos dois modos.
No caso, se realmente vc estiver tentando fazer uma busca, seu método terá que receber os parâmetros:
public void busca(String nome, Integer idade){
.
.
.
}
classeDeBusca.busca();
// ou
classeDeBusca.busca(nome, idade);
Uma boa dica é:
Nome de métodos começarem com letra minúscula, ao invés de Busca, utilize buscar.
E também devem indicar ações! ;)
Dá uma olhada nos links da minha assinatura sobre código limpo, vai te ajudar! [=
Bem comentado e percebido, nem havia notado que ele havia iniciado o nome do método letra minuscula.
E adicionando, classes e interfaces, com letras maisculas hein.
Abraços!