Atributos com o modificador de acesso private só podem ser lidas pela classe que contém eles. Olhe no exemplo abaixo:
- class Pessoa{
- private String nome; //Somente a própria pessoa irá poder ler esse nome
- }
Isso quer dizer que se você instanciar a pessoa e tentar ler o nome diretamente, irá ser gerada uma exceção:
- Pessoa maria = new Pessoa();
- maria.nome= "Maria"; //Erro!!!
Existem modificadores de acesso para permitir o acesso direto a variável livremente ou com alguma restrição, como public, protected...
Pra que uso o private então?
Com atributos privates temos que acessar as variáveis através de métodos públicos, que permitem que o "pessoal" de fora possa acessar a variável, seja para leitura ou escrita.
E daí?
Com acesso usando métodos podemos dar mais flexibilidade ao código, mais segurança no acesso. Exemplo simples e didático:
Quero me certificar que a idade será sempre maior que 18 anos:
- class MaiorIdade{
- private int idade;
-
- public void setIdade(int pIdade){
- if(idade < 18){ //nesse ponto poderíamos lançar um execessão também
- System.out.println("Idade menor do que o permitido...");
- }else{
- this.idade = pIdade;
- }
- }
- }
Nenhum comentário:
Postar um comentário