GARANTIR DESCONTO

Fórum Dúvida método Get e Set #461291

18/11/2013

0

Bom Dia Pessoal, estou com dúvidas em relação aos métodos Get e Set.
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

Ricardo Pereira

Responder

Posts

18/11/2013

Roselito Silva

Dê uma estudada em encapsulamento. Os atributos de uma classe nem sempre (quase nunca) devem ser acessados diretamente. Assim é preciso métodos públicos que possam acessá-los, que são o get e o set.
É ó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.
Responder

Gostei + 0

18/11/2013

Eduardo Pessoa

otima definição e explicação.
Responder

Gostei + 0

20/11/2013

Renan Barbosa

Boa Noite! Bem os métodos Getter e setters parecem a primeira vista digamos assim, não muito úteis, mas vou citar um exemplo digamos que você quer criar uma Classe Pessoa e essa classe Pessoa tem um atributo idade, então digamos que quem vai usar o seu código cria uma instância dessa classe:

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]
Responder

Gostei + 0

20/11/2013

Ricardo Pereira

Boa Noite! Bem os métodos Getter e setters parecem a primeira vista digamos assim, não muito úteis, mas vou citar um exemplo digamos que você quer criar uma Classe Pessoa e essa classe Pessoa tem um atributo idade, então digamos que quem vai usar o seu código cria uma instância dessa classe:

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
Responder

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?
 


    }


}

Responder

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.
Responder

Gostei + 0

21/11/2013

Renan Barbosa

entra no meu blog:

www.renanwillamy.com

meu email:
renanwillamy@gmail.com

Qualquer dúvida entra em contato! vlw
Responder

Gostei + 0

21/11/2013

Eduardo Pessoa

a forma mais basica, achei dessa forma,
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;
	}
}

Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar