Bom Dia!
Comecei a ter aula de java na facu, porem não estou entendendo o que é, e pra que serve os get/set encapsulamento de dados.
Alguém poderia me ajudar?
Bom Dia!
Comecei a ter aula de java na facu, porem não estou entendendo o que é, e pra que serve os get/set encapsulamento de dados.
Alguém poderia me ajudar?
http://www.guj.com.br/posts/list/132127.java
Aqui no Guj tem vários tópicos à respeito já.
Começando o encapsulamento serve para a classe que os possui poder visualiza-los e usa-los!
o metodo set, serve para alterar o dado do atributo
ex
public void setNome(String novoNome){
nome = novoNome;
}
e o get seria se vc precisa pegar o dado do atributo
public String getNome(){
return nome;
}
Encapsulamento de dados é controlar o estado interno do teu objeto, fazendo que somente o objeto possa mudar seu próprio estado, e que se alguem quiser mudar, tem que falar com o objeto primeiro.
No caso, se tivesse:class Pessoa {
public int idade;
}
Pessoa joao = new Pessoa();
joao.idade = -5;
class Pessoa {
private int idade;
public int getIdade() {
return this.idade;
}
public void setIdade(int idade) {
if (idade < 0)
throw new IllegalArgumentException("A idade deve ser maior ou igual a zero.");
if (idade >= 150)
throw new IllegalArgumentException("A idade deve ser menor que 150 anos.");
this.idade = idade;
}
}
E avisando, se você não controla o estado do teu objeto, não tem muito sentido fazer getters e setters para ele. É até complicado quando um terceiro te obriga a fazer isto.
post legal sobre o assunto http://www.guj.com.br/posts/list/23431.java
abrasss