Neste artigo veremos os conceitos e exemplos com os Modificadores de Acesso. Acompanhem:

O que são modificadores de acesso?

Modificadores de acesso são as palavras-chave usadas para especificar a acessibilidade da declaração de um membro ou um tipo.

Ok, já sabemos o que são os modificadores de acesso, agora vamos ver quantos são e para que servem cada:
Lembrando que os modificadores de acesso são aplicáveis a atributos, classes, métodos, Structs, interfaces e enumeradores. Temos cinco níveis de acessibilidade especificados aos modificadores de acesso. Vejamos cada um, em uma situação hipotética, usando-os em classes:

  • Public: Com este modificador, o acesso é livre em qualquer lugar do programa.
  • Private: Com este modificador, o acesso é permitido somente dentro da classe onde ele foi declarado. Por padrão, é a visibilidade definida para métodos e atributos em uma classe.
  • Protected: Com este modificador, apenas a classe que contém o modificador e os tipos derivados dessa classe tem o acesso.
  • Internal: Com este modificador, o acesso é limitado apenas ao assembly atual.
  • Protected Internal: Com este modificador, o acesso é limitado ao assembly atual e aos tipos derivados da classe que contém o modificador.

Por exemplo, na classe a seguir temos duas situações:



  class Pessoa

        {

            private int Idade = 21;

            public string Nome = string.Empty;

            protected double Salario = double.MinValue;

        }


Perceba que usamos o modificador private e o public, assim se instanciarmos a classe acima em outra parte de nossa aplicação somente teremos acesso à propriedade Nome, já que a propriedade Idade é do tipo private.

Obs: Quando o modificador é do tipo public, não é obrigatória a declaração dele na classe, como vemos acima. Isso funciona para classes, mais para métodos se deixarmos sem declarar, o modificador de acesso padrão será o private.

Perceba que acima que ainda temos o modificador protected (estes três são os mais usados, por isso manterei o foco neles neste artigo). Lembrando que para termos acesso a ele poderemos “chama-lo” dentro de sua classe ou em classes derivadas, como na classe abaixo:


 class Funcionario : Pessoa

        {

            public void DadosFuncionario()

            {

                Nome = "Wellington";

                Salario = 2500.00;

            }

        }

Perceba que esta classe herda de Pessoa, por isso tem acesso a propriedade Salario.

Espero que com esses conceitos e exemplos tenha ficado claro o uso destes modificadores em suas aplicações!