Getters e setters

Alguém poderia me explicar ( se possível com exemplo simples ) o que éh um método getter ou o método setter ?

GET é quando vc quer pegar um valor, por exemplo um valor de um TextField.
SET é quando vc deseja setar ou enviar algo, algum valor.
Ex:

[code]TextField nome = new TextField();
nome.setText(“FULANO”); //aqui um exemplo de SET, que aplicará a string FULANO em NOME.

TextField trazNome = new TextField();
traznome.setText(nome.getText()); //exemplo de GET, que retornara o valor digitado em NOME
[/code]

Nao sei se fui claro ou confuso.

Abraço! :wink:

1 curtida

estes métodos são seletores e modificadores dos atributos de sua classe. Através deles aplica-se uma regra da orientação a objeto chamada encapsulamento que consiste que os atributos de uma classe não podem ser acessados diretamente.

espero ter ajudado.

1 curtida

Hummmmm

método getter é utilizado para recuperar alguma informação, geralmente utilizado para trazer informação de algum atributo, sem ter que utilizar o atributo explicitamente. Então chamamos atraves de métodos. Eis ai um dos principios de OO.

Método setter é utilizado para setar um valor dentro de um objeto, de uma variavel.

Vou dar um exemplo para ficar mais facil…

[code]package br.cms.servlet.morador;

import br.cms.servlet.condominio.CondominioBean;

/**
*

  • @version
  • @author Karen Barbato
    */
    public class MoradorBean {

private String nomeMorador;
private int apto;

//método Set
public void setNomeMorador(String nomeMorador) {
this.nomeMorador = nomeMorador;
}

//método get
public String getNomeMorador() {
return nomeMorador;
}

//método Set
public void setApto(int apto) {
this.apto = apto;
}
//método get
public int getApto() {
return apto;
}

[/code]

Para utilizar isso…vamos setar valores dentro do nome e do apto:

moradorBean.setNome(request.getParameter("nome"));
moradorBean.setApto(Integer.parseInt(request.getParameter("apto")));

repare que utilizei setNome e setApto, enfim, utiliza-se os métodos setter

Para getter é a mesma coisa…ao inves de setar, vc recupera os dados.

1 curtida

Apenas tomem cuidado para não sairem cirando get/set pra tudo, pois tem atributos que não precisam/devem ser alterados.

Pode-se por exemplo passar alguns atributos nos contrutores da classe, e assim esses ficarem sem os sets, e terem apenas os gets para recuperar o valor.

Bom, uma coisa importante para você que está aprendendo Orientação a Objetos é não aprendê-la da forma incorreta. Métodos getters e setters funcionam bem, principalmente quando se utilizam frameworks, como o Hibernate, porém eles devem ser utilizados com moderação.

Dê uma olhada neste artigo, ele irá te ajudar, e muito:
http://blog.caelum.com.br/2006/09/14/nao-aprender-oo-getters-e-setters/

só acrescentando

quando um atributo é boolean vc não usa GET, mas sim IS
Ex.:

private boolean ativo;

public void setAtivo(boolean a) {
    ativo = a;
}

public boolean isAtivo() {
    return ativo;
}

lembrando aqui vc também pode ter metodos add, remove também… um exemplo pode ser uma coleção, vc pode adicionar ou remover algo… tem bastante coisa interessante ai…

Prezado Odyo…

Por convenção são utilizados minusculos juntamente com os nomes dos metodos, get são acessores, consultores, somente acessam, consultam determinado atributo, set são modificadores, esses sim alteram os atributos, ex:

[code]public class Teste
{
private String nome;
…/ demais atributos de uma classe

 public String getNome()
 {
      return this.nome; // entendeu, esse metodo so retorna o nome pra vc, nao altera, por convencao o get...
 }

 public void setNome(String nome)
 {
      this.nome = nome; // com esse você altera o nome colocado como argumento
 }


}

no main

Teste a = new Teste();

a.getNome(); // retorna o nome da referencia a.
a. setNome(“Joao”); // altera o nome da referencia a para João.[/code]

Rodrigo

1 curtida

Valeu Galera

Já fiz alguns testes aqui e acessando e depois alterando alguns valores !
Ajudaram bastante !

o SET - armazena e o Get retorna veja um exemplo simples:

class Fun{
private int z;
public void setId(int a){
z=a;
}
public  int getId(){
return z;
}
public void static void main(String args[]){
Fun f = new Fun();
f.setId(20);
System.out.println(f.getId());
}
}

fiz sem testar veja se roda… heeh a ideia principal do set e get eh acessar membros privados de uma class… mais como pediu um exemplo simples ta ai… se nao entendeu execute varias vezes e olhe N vezes para a sintaxe :smiley: ate entender…

1 curtida

set deve-se associar com inclusão de valores
get Retorno de uma informação que foi setada,se o método de retorno for booleano usa-se is

getter+Setter != Encapsulamento

http://fragmental.com.br/blog/?p=168

1 curtida

Complementando…

O nome ‘set’ e ‘get’ em um método é uma convensão da Sun, para representar que um método faz na classe.
Além disso, por convensão get e set vem em caixa baixa e o primeiro nome do método em caixa alta, por exemplo:

  • setMetodo()
  • getMetodo()

Flw.