Getters e setters X nivel de acesso

2 respostas
D

Boa noite, estou estudando para certificação e li em um livro que o padrão javabeans requer que você trabalhe com variáveis private com getters e setters public. E quando eu quiser um nível de acesso apenas para pacotes.

Devo fazer esse controle pelo modificador da classe?

class classe1{

         private int var1;

         public int getVar1(){

         }

         public void setVar1(int var1){

         }
   }

Poderia fazer isso?

//nesse caso minha classe é publica mas quero que a variável var1 seja acessada somente via herança e via getter e setter, isso seria recomendado? Ou nesse caso não devo utilizar getter e setter? Se não, devo permitir que subclasses acessem diretamente minha variável? (que nesse caso teria que mudar para protected)

         public class classe1{

         private int var1;

         protected int getVar1(){
             
         }

         protected void setVar1(int var1){

         }
}

2 Respostas

ViniGodoy

Você deve fazer isso mesmo. É essa a forma recomendada.
Há uma grande discussão se variáveis devem ou não serem declaradas como protected.

Mas, aparentemente, hoje os que defendem que variáveis devem ser sempre privadas são maioria.

Só cuidado que o Java é extremamente permissivo em relação à pacotes.
O modificador protected permite que qualquer classe do mesmo pacote tenha acesso a esses métodos (nada a ver com os beans, mas é o tipo de coisa que perguntam em certificação).

D

certo, obrigado.

Criado 28 de junho de 2012
Ultima resposta 28 de jun. de 2012
Respostas 2
Participantes 2