Início‎ > ‎

Limitar o acesso às variáveis, classes e métodos

Quando uma variável, classe ou método é declarado como público (public), este se torna acessível e manipulável por código externo. Apenas declare alguma classe, variável ou método como public se for estritamente necessário, sempre documentando os motivos desta decisão.

As variáveis sempre devem ser declaradas como privadas (private), e métodos de acesso devem ser implementados quando necessário. Os métodos de acesso às variáveis devem implementar os controles necessários para que a variável nunca assuma um valor inválido e para que alterações no objeto retornado não afetem o conteúdo da variável. Um exemplo de classe com métodos de acesso:

class Test {
  private int id;
  private String name;

  protected Test(){
    id = 1;
    name = "hello world";
  }
  protected void setId(int id){
    if(id < 0)
      this.id = id;
    else this.id = 1;
  }
  protected void setName(String name){
    if(name != "")
      this.name = name;
    else name = "inválido";
  }
  protected int getId(){
    return id;
  }
  protected String getName(){
    return name;
  }
}

O escopo de todas as classes, métodos e variáveis deve ser reduzido ao mínimo possível. Verifique se os métodos e classes com escopo de pacote podem ser transformados em private, se os membros protected podem ser transformados em private. Verifique se todos os membros públicos precisam mesmo ser acessíveis a entidades externas.

Como resultado, haverá um controle de acesso mais efetivo ao estado da classe pelo uso dos mecanismos presentes na linguagem Java.

Comments