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.