Passagem de parametro!

8 respostas
shadowjava

olá amigos !

tenho uma pergunta bem básica, pra que serve a passagem de parametro , eu faço mas não sei pq.
alguem tem uma definição mas clara ?

tipo

public void teste ( String x, int y){
}

vlw pessoal

8 Respostas

Kassiane_Pretti

Os parâmetros de uma função são os dados externos necessários para a execução das instruções desta.

Basicamente isso :smiley:

peczenyj
public void mostraMensagem(String msg){

System.out.println(Mensagem abaixo:);

System.out.println( msg );

}

uso

mostraMensagem(“dsdklfjasdlhjasdlfkasdljsdhlfkjsd”);

fiaux

Exemplo simples demais, podia ser qualquer outra coisa: Se você escreve um código que soma dois números, e depois quer fazer uso dessa soma em várias outras classes, o que você faz, copia e cola o código em todas as classes? Não, você modulariza esse código em um método, para ser acessado por outras classes, e nesse caso, você precisa de parâmetros para realizar aquilo que o método se propõe, que são dois números para somar.

public int soma(int a, int b) { //alguma implementação }

shadowjava

então

mas pq da passagem de parametro no gets e sets

fiaux

shadowjava:
então

mas pq da passagem de parametro no gets e sets


Método get geralmente você não teria um parâmetro. Pois ele é o ponto de acesso a um atributo. Um getNome() por exemplo não tem parâmetro e ele retorna o valor do atributo nome de uma classe. Talvez um método que faz um acesso ao banco e busca pelo id, aí você teria algo do tipo get(Long id).
O setNome() seria para alterar o valor do atributo nome, e para tal, você precisa passar o valor para o qual você quer alterar, seria um setNome(String nome), por exemplo.

willcrisis

Para o seu atributo não ser acessado diretamente. Imagine que vc possui uma classe chamada Terra. Essa classe possui um atributo chamado gravidade com valor 9.8. Algo mias ou menos assim:

public class Terra{
    float gravidade = 9.8;
}

Do jeito q está, qualquer pessoa pode alterar diretamente o valor da gravidade apenas com uma instância da classe Terra.

Para evitar isso, fazemos o chamado Encapsulamento: declaramos a gravidade como private e damos acesso somente para leitura:

public class Terra{
    private float gravidade = 9.8;

    public float getGravidade()
    {
        return this.gravidade;
    }
}

Dessa maneira, não é possível alterar a gravidade fora da classe Terra. Se quisermos permitir que alguém altere, aí criamos o setGravidade que recebe como parâmetro um valor do tipo float, que vai substituir o valor atual:

public class Terra{
    private float gravidade = 9.8;

    public float getGravidade()
    {
        return this.gravidade;
    }

    public void setGravidade(float novaGravidade)
    {
        gravidade = novaGravidade;
    }
}

Essa é a lógica do parâmetro nos gets e sets.

balthazar

Um parametro nada mais é que um dado necessario para a execução de um procedimento ou metodo de classe, por exemplo:
digamos que voce possui-se um metodo chamanho imprimeNome; esse metodo é bem alto explicativo, ou seja, ele tem que imprimir um nome que pode ser qualquer coisa logo, poderia ser algo assim

public void imprimeNome() {
  out.print("nome_qualquer");
}

ou poderiamos deixa-lo de uma forma mais generica tipo

public void imprimeNome(String nome) {
  out.print(nome);
}

perceba que o segundo exemplo recebe qualquer tipo de string para impressao entao poderiamos imprimir “qualquer_nome” ou outra string tipo “qualquer_coisa” somente passando ela no parametro do metodo bem como pede na assinatura.

att,

peczenyj

shadowjava:
então

mas pq da passagem de parametro no gets e sets

http://blog.caelum.com.br/2006/09/14/nao-aprender-oo-getters-e-setters/

gets & sets não são a resposta pra tudo.

basicamente vc quer mudar um estado interno do objeto setando alguma propriedade. vc o faz via metodo pois assim não expõe os atributos internos. tem quem jure de pé junto que isso garante o encapsulamento, mas não é bem assim :wink:

Criado 4 de agosto de 2008
Ultima resposta 4 de ago. de 2008
Respostas 8
Participantes 6