Skip to main content

Visibilidade

  • Visibilidade

Em C#, a visibilidade se refere à acessibilidade dos membros (métodos, propriedades, campos, etc.) de uma classe para outros elementos do programa. Existem quatro níveis de visibilidade disponíveis em C#:

  1. Public: Os membros públicos são acessíveis por qualquer elemento do programa, tanto dentro da classe em que são definidos quanto fora dela. Eles podem ser chamados, modificados ou utilizados livremente por qualquer parte do código.
  2. Private: Os membros privados são acessíveis apenas dentro da própria classe em que são definidos. Isso significa que eles não podem ser acessados por outras classes ou elementos do programa. Os membros privados são úteis para esconder detalhes de implementação e garantir a encapsulação.
  3. Protected: Os membros protegidos são acessíveis dentro da classe em que são definidos e também por classes derivadas dessa classe (herança). Os membros protegidos não são visíveis para elementos fora da hierarquia de herança.
  4. Internal: Os membros internos (ou "amigos") são acessíveis dentro do mesmo assembly (arquivo DLL ou EXE). Isso significa que eles podem ser acessados por todas as classes presentes no mesmo assembly, independentemente do namespace em que estão definidos.

Além desses quatro níveis de visibilidade, existem também os modificadores de acesso adicionais em C#:

  • Protected Internal: Os membros protegidos internos são acessíveis dentro do mesmo assembly e também por classes derivadas, mesmo que estejam em assemblies diferentes.
  • Private Protected: Os membros privados protegidos são acessíveis somente dentro do mesmo assembly e por classes derivadas que estejam no mesmo assembly.

Esses conceitos de visibilidade são fundamentais para controlar o acesso aos membros de uma classe e definir a interface pública que uma classe expõe para o restante do programa.