[b]Oi…
queria saber como faço pra encapsular minhas variaveis…
Agradeço a ajuda [/b]
[b]Oi…
queria saber como faço pra encapsular minhas variaveis…
Agradeço a ajuda [/b]
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 [/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 [/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.