Fórum Dúvida método Get e Set #461291
18/11/2013
0
Eu dei uma pesquisa no google, mas realmente tenho dificuldade de entender certos assuntos.
Qual realmente a função desses métodos e qual devo usar primeiro ?
Por exemplo, se eu usar o método GET
public String getNomeProduto() {
return nomeproduto;
}Se eu usá-lo primeiramente, o que ele irá retornar se ele não recebe nada ? Achei meio sem nexo.
E no caso do SET
public void setNomeProduto(Stringnomeproduto)
{ this.nomeproduto = nomeproduto; }O que ele irá fazer ? Alterar o atributo private da classe principal ? Então qual a função desse método se pode-se fazer isso de um jeito mais fácil ?
E se ele não retorna como vou trabalhar com esse valor que atribui ? Tenho que trabalhar com esse valor só dentro desse método ?
Se alguém puder me ajudar, agradeço e muito.
Obrigado.
Ricardo Pereira
Curtir tópico
+ 0Posts
18/11/2013
Roselito Silva
É óbvio que se o atributo não tem valor, chamar o método get pode retornar nulo ou pode causar um erro, dependendo do tipo do atributo.
Gostei + 0
18/11/2013
Eduardo Pessoa
Gostei + 0
20/11/2013
Renan Barbosa
Pessoa pessoa = new Pessoa(); // entao aqui vem o problema se fizermos assim pessoa.idade = 300; // quantas pessoas você já encontrou com 300 anos?
Agora se criarmos o método set dessa classe podemos impedir que o usuário faça isso dessa forma:
public void setIdade(int idade){
if(idade<=125 && idade>=1){
this.idade = idade;
}
}
Em meu blog eu explico mais sobre isso se quiser dar uma olhada é esse:
[url]http://renanwillamy.com/java-getters-e-setters/[/url]
Gostei + 0
20/11/2013
Ricardo Pereira
Pessoa pessoa = new Pessoa(); // entao aqui vem o problema se fizermos assim pessoa.idade = 300; // quantas pessoas você já encontrou com 300 anos?
Agora se criarmos o método set dessa classe podemos impedir que o usuário faça isso dessa forma:
public void setIdade(int idade){
if(idade<=125 && idade>=1){
this.idade = idade;
}
}
Em meu blog eu explico mais sobre isso se quiser dar uma olhada é esse:
[url]http://renanwillamy.com/java-getters-e-setters/[/url]
Não entendi muito bem, você criou o método, ok.
Pode mostrar um exemplo em um método main em que ele possa ser chamado para eu ver ?
Obg
Gostei + 0
21/11/2013
Renan Barbosa
classe Teste [
public static void main (String args [ ]){
// aquivo você cria o objeto pessoa
Pessoa pessoa = new Pessoa ();
// aqui você tenta atribuir valores a variavel de instancia de pessoa
pessoa.idade = 300;
//entao você obtém um erro pois a variavel idade esta com o modicador private está encapsulada
// para poder alterar a variavel idade você será forçado a usar o metodo setIdade()
// aqui você tenta colocar o mesmo valor para a variavel idade
pessoa.setIdade(300);
// o que acontece?
// exatamente nada porque você configuro o metodo setIdade para não fazer nada caso o valor do argumento seja maior do que 125 ou menor que 1
//entendeu?
}
}
Gostei + 0
21/11/2013
Ricardo Pereira
classe Teste [
public static void main (String args [ ]){
// aquivo você cria o objeto pessoa
Pessoa pessoa = new Pessoa ();
// aqui você tenta atribuir valores a variavel de instancia de pessoa
pessoa.idade = 300;
//entao você obtém um erro pois a variavel idade esta com o modicador private está encapsulada
// para poder alterar a variavel idade você será forçado a usar o metodo setIdade()
// aqui você tenta colocar o mesmo valor para a variavel idade
pessoa.setIdade(300);
// o que acontece?
// exatamente nada porque você configuro o metodo setIdade para não fazer nada caso o valor do argumento seja maior do que 125 ou menor que 1
//entendeu?
}
}
Obrigado, ja entendi bem melhor. Só tenho mais umas pequenas dúvidas sobre isso, você tem algum email, face p eu entrar em contato com você, caso você possa me ajudar, é claro.
Se.puder fico agradecido.
Gostei + 0
21/11/2013
Renan Barbosa
www.renanwillamy.com
meu email:
renanwillamy@gmail.com
Qualquer dúvida entra em contato! vlw
Gostei + 0
21/11/2013
Eduardo Pessoa
obs: copiado.
private Double valor;
private Date data;
public Pagamento(){
data = new Date();
}
public Double getValor() {
return valor;
}
public void setValor(Double valor) {
this.valor = valor;
}
public Date getData() {
return data;
}
public void setData(Date data) {
this.data = data;
}
}
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)