DEV Community

Modificadores de acesso da linguagem Java

Tipos de Modificadores:

  • public: Permite o acesso de membros de uma classe por qualquer código do programa, incluindo métodos de outras classes.
  • private: Restringe o acesso de membros para dentro da própria classe, impedindo métodos de outras classes de acessá-los diretamente.
  • protected: Usado em herança, será abordado no Capítulo 8.
  • Acesso padrão: Se nenhum modificador for usado, o acesso é igual ao public, exceto em casos que envolvem pacotes.

Exemplos de Modificadores:
Exemplos de como usar public e private na declaração de membros:

  • public String errMsg;
  • private accountBalance bal;
  • private boolean isError(byte status) { // ... }

Demonstração Prática:
Controle de Acesso em uma Classe:

  • Membros privados, como alpha em MyClass, só podem ser acessados por métodos da própria classe.
  • Acesso a membros privados por métodos públicos através de métodos acessadores (getAlpha() e setAlpha()).
  • Tentativas de acesso direto a membros privados de outra classe resultarão em erro de compilação.
class MyClass {
    private int alpha; // acesso privado
    public int beta;   // acesso público
    int gamma;         // acesso padrão (equivalente a public neste contexto)

    // Métodos para acessar alpha
    void setAlpha(int a) {
        alpha = a;
    }

    int getAlpha() {
        return alpha;
    }
}

Enter fullscreen mode Exit fullscreen mode

Exemplo de Uso: Classe AccessDemo.java

Resultado:

  • O acesso ao membro privado alpha só pode ser feito através dos métodos públicos setAlpha() e getAlpha().
  • Acesso direto a alpha fora da classe MyClass é proibido, resultando em erro de compilação.

Exemplo: FailSoftArray:

  • Implementa um array "resistente a falhas", onde o array é encapsulado como membro privado, acessado apenas por métodos públicos.
  • Encapsulamento: Protege o array de acessos fora dos limites, prevenindo exceções de tempo de execução.
  • Membros Privados: a, errval, e indexOK() são privados, protegendo a integridade do array.
  • Membro Público: length é público, permitindo a consulta do tamanho do array, similar à implementação de arrays padrão em Java.
  • Metodos Públicos: put() e get() são usados para armazenar e recuperar valores do array, controlando o acesso de forma segura.

Conclusão:
O controle de acesso é fundamental para uma programação orientada a objetos bem-sucedida, especialmente ao lidar com herança e garantir a integridade dos dados.

Resultado:
O array "resistente a falhas" evita erros de tempo de execução ao tentar acessar índices fora dos limites.
Acesso aos elementos do array é feito de forma segura através dos métodos públicos get() e put(), com verificação de limite.
O programa exibe falhas silenciosas e depois trata as falhas explicitamente, mostrando quando os índices estão fora dos limites.
Esses exemplos ilustram como os modificadores de acesso em Java (public, private, e acesso padrão) são aplicados para controlar o acesso a membros de uma classe e garantir a integridade e segurança dos dados.

Top comments (0)