Para que serve o get e o set?

Pelo que sei eles são dois métodos certo? Mas acreditem, até hoje não entendi muito bem a função de cada um, por certo tempo acreditei que seria para ler e escrever respectivamente, mas hoje tenho minhas dúvidas, se possível me esclarecer de forma simples, fico agradecido. Abraços…

Aproveita e vê como não aprender get e set :arrow: http://blog.caelum.com.br/nao-aprender-oo-getters-e-setters/

:thumbup:

A nomenclatura get e set é apenas um padrão Design Paterns…
use se quiser, em geral serve para pegar e setar valores a atributos de um objeto…

[quote=InicianteJavaHenrique]Aproveita e vê como não aprender get e set :arrow: http://blog.caelum.com.br/nao-aprender-oo-getters-e-setters/

:thumbup: [/quote]

Apesar do seu artigo ter ficado incrível, deu para perceber que é uma apelação consciente de quem está mais que familiarizado com a linguagem, mas eu ainda estou meio perdido, pelas outras
respostas aqui, vi que basicamente é pegar algo e colocar algo, mas talvez seja dúvida persistente de iniciante, pois minha cabeça ainda está meio “embaraçada”… rsrs

[quote=Galego Henrique][quote=InicianteJavaHenrique]Aproveita e vê como não aprender get e set :arrow: http://blog.caelum.com.br/nao-aprender-oo-getters-e-setters/

:thumbup: [/quote]

Apesar do seu artigo ter ficado incrível, deu para perceber que é uma apelação consciente de quem está mais que familiarizado com a linguagem, mas eu ainda estou meio perdido, pelas outras
respostas aqui, vi que basicamente é pegar algo e colocar algo, mas talvez seja dúvida persistente de iniciante, pois minha cabeça ainda está meio “embaraçada”… rsrs[/quote]

Opa, os créditos não são meus, este é o autor Paulo Silveira

:thumbup:

Sim, mas como o R$chieck você pode mudar a nomenclatura “get” e “set”.

Se ler == pegar e escrever == setar então está certo.

Um exemplo:

public class QualquerClasse {
      
      private int numero1, numero2; //atributos visíveis somente a está classe

      public QualquerClasse() {
               this.numero1=0;
               this.numero2=0;
      }

      public void setNumero1(int valor) {
               this.numero1=valor; //atributo visível somente a está classe passa a ter o valor recebido como parâmetro.
      }

      public int getNumero1(){
               return numero1; //devolve o valor atual do atributo numero1
      }

      public void setNumero2(int valor) {
               this.numero2=valor; //atributo visível somente a está classe passa a ter o valor recebido como parâmetro.
      }

      public int getNumero2(){
               return numero2; //devolve o valor atual do atributo numero2
      }

}
public class QualquerClasse2 {

      private QualquerClasse teste;

      public QualquerClasse() {
              //ERRADO
              teste.numero1=10; //dará um erro na compilação

              //CERTO
              teste.setNumero1(10);

              //ERRADO  
              System.out.println(teste.numero1 + teste.numero2);  

              //CERTO  
              System.out.println(teste.getNumero1() + teste.getNumero2());  
      }
}

Resumindo: get e set serve para que você não tenha acesso a atributos privados de uma determinada classe.

:thumbup:

Entendi, valeu!

Sobre encapsulamento, também escrevi uma coisinha ou outra nesse post aqui:

Vale a pena ler.

[quote=ViniGodoy]Sobre encapsulamento, também escrevi uma coisinha ou outra nesse post aqui:

Vale a pena ler.[/quote]
Barbaridade, hehehe…

Bastante coisa disso eu já sabia, agora os gets e sets com atributos mutáveis, nunca tinha imaginado o perigo disso.

[quote=ViniGodoy]Sobre encapsulamento, também escrevi uma coisinha ou outra nesse post aqui:

Vale a pena ler.[/quote]

ViniGodoy, interessante a abordagem do método estático no início, pois quase nunca entendi para que serve, agora os códigos eu ainda estou meio perdido… rsrs

os metodos get e set servem para você obter ou atribuir dados a objetos.