Encapsulamento

[b]Oi…
queria saber como faço pra encapsular minhas variaveis…

Agradeço a ajuda [/b] :wink:

Básicamente declarando elas como private, e colocando métodos de configuração e acesso.

Exemplo:

public class Pessoa {
//Variável privada só pode ser modificada com os metodos abaixo
private String nome;
	
	//configura o valor da variável
	public void setNome(String nome){
		this.nome = nome;
	}

	//retorna o valor da variável
	public String getNome(){
		return this.nome;
	}
}

[b]Não entendi a colocação do “this.”
eu não poderia declarar uma variavel local no lugar do “this.”?? :?:??

e sobre os metodos getter e setter…
tem q ser um pra cada variavel privada??

sou bem iniciante…se puderem me ajudar…
agradeço :smiley: [/b]

pra cada variavel privada não.

Para cada um que vc queira usar de acordo com os gets e sets, gets são para leitura e setters para escrita.

a variavel this se refere a propria classe por exemplo no metodo

 //configura o valor da variável  
     public void setNome(String nome){  
         this.nome = nome;  
     }  

dentro do metodo existem duas variaveis nome, a variavel do metodo e a variavel da classe, por padrão o java usa a do metodo que esta como parametro do setter.
Pra referencias a da classe usa-se o this.

Aconselho pra vc o Java Use a Cabeça, e Java Como Programar.
Excelentes livros para quem está começando

[]'s

[quote=Ester Hizqui][b]Não entendi a colocação do “this.”
eu não poderia declarar uma variavel local no lugar do “this.”?? :?:??

e sobre os metodos getter e setter…
tem q ser um pra cada variavel privada??

sou bem iniciante…se puderem me ajudar…
agradeço :smiley: [/b]
[/quote]

Da uma olhada nesse link aí… http://blog.caelum.com.br/2006/09/14/nao-aprender-oo-getters-e-setters/

Quando eu estava com essa dúvida ele me ajudou muito.

Opa…
E sobre o "this", é assim.
Você percebeu que o argumento do método está com o mesmo nome que a variável.

public class Pessoa {
//Nome da variável privada é "nome"
private String nome;
	
	//O nome do argumento que o método recebe é "nome"
	public void setNome(String nome){
		this.nome = nome;
	}

	//retorna o valor da variável
	 public String getNome(){
		return this.nome;
	}
}

this.nome -> este é o nome da variável do objeto pessoa.
nome -> o nome sem o "this" é o argumento que o método recebeu…

        //isso significa
	public void setNome(String nome){
        //pegue o nome que foi passado como argumento "nome"
        //e coloque na variável do objeto Pessoa "this.nome"
		this.nome = nome;
	}

Não sei se ficou muito claro.