Modificadores de acesso (especificadores) em C# com exemplos de programas

O que รฉ modificador de acesso (especificador) em C#?

Modificadores de acesso ou Especificadores de acesso em C# sรฃo as palavras-chave usadas para definir a visibilidade de uma propriedade ou mรฉtodo de classe. ร‰ usado quando vocรช nรฃo deseja que outros programas vejam as propriedades ou mรฉtodos de uma classe. Os modificadores de acesso restringem o acesso para que outros programas nรฃo possam ver as propriedades ou mรฉtodos de uma classe.

Existem 6 tipos de modificadores de acesso em C#:

  • Privado
  • Pรบblico
  • Protegido
  • Interno
  • Protegido Interno
  • Privado Protegido

Aprenderemos sobre os principais modificadores de acesso em C# com exemplos de programas conforme explicado abaixo.

Modificadores de acesso privado em C#

Quando o modificador de acesso privado รฉ anexado a uma propriedade ou a um mรฉtodo, significa que esses membros nรฃo podem ser acessados โ€‹โ€‹por nenhum programa externo.

Exemplo de modificador de acesso privado

Vamos dar um exemplo e ver o que acontece quando usamos o modificador de acesso privado.

Vamos modificar o cรณdigo atual em nosso arquivo Tutorial.cs. No mรฉtodo SetTutorial, vamos alterar a palavra-chave pรบblica para privada.

Modificadores de acesso privado

Agora vamos mudar para nosso arquivo Program.cs. Vocรช notarรก que hรก uma linha vermelha ondulada no mรฉtodo SetTutorial.

Como declaramos o mรฉtodo SetTutorial como privado em nossa classe Tutorial, o Visual Studio detectou isso. Ele informou ao usuรกrio, destacando-o, que agora este mรฉtodo nรฃo funcionarรก no arquivo Program.cs.

Modificador de acesso privado

Modificadores de acesso pรบblico C#

Quando o modificador de acesso pรบblico รฉ anexado a uma propriedade ou a um mรฉtodo, significa que esses membros podem ser acessados โ€‹โ€‹a partir de qualquer programa externo. Jรก vimos isso em nossos exemplos anteriores.

Exemplo de modificador de acesso pรบblico

Modificadores de acesso pรบblico C#

Como definimos nossos mรฉtodos como pรบblicos na classe Tutorial, eles podem ser acessados โ€‹โ€‹a partir do arquivo Program.cs.

Modificadores de acesso protegido em C#

Quando o modificador de acesso protegido รฉ anexado a uma propriedade ou a um mรฉtodo, significa que esses membros podem ser acessados โ€‹โ€‹apenas por classes herdadas do atual classe. Isso serรก explicado com mais detalhes na classe Heranรงa.

Modificadores de acesso interno C#

Quando um modificador de acesso interno รฉ anexado a uma propriedade ou a um mรฉtodo, esses membros podem ser acessados โ€‹โ€‹apenas por um programa interno, mas nรฃo por um programa externo.

Construtor C#

C# Os construtores sรฃo usados โ€‹โ€‹para inicializar os valores dos campos de classe quando seus objetos correspondentes sรฃo criados. Um construtor รฉ um mรฉtodo que possui o mesmo nome da classe. Se um construtor for definido em uma classe, ele fornecerรก o primeiro mรฉtodo que รฉ chamado quando um objeto รฉ criado. Suponha que tivรฉssemos uma classe chamada Employee. O mรฉtodo construtor tambรฉm seria nomeado como Employee().

As seguintes coisas importantes precisam ser observadas sobre os mรฉtodos construtores

  1. O modificador de acesso padrรฃo C# para o construtor precisa ser tornado pรบblico.
  2. Nรฃo deve haver nenhum tipo de retorno para o mรฉtodo construtor.

Exemplo de construtor C#

Vamos agora ver como podemos incorporar o usuรกrio dos construtores em nosso cรณdigo. Usaremos construtores para inicializar os campos TutorialID e TutorialName com alguns valores padrรฃo quando o objeto for criado.

Passo 1) O primeiro passo รฉ criar o construtor para nossa classe Tutorial. Nesta etapa, adicionamos o cรณdigo abaixo ao arquivo Tutorial.cs.

Construtor C#

Code Explicaรงรฃo:-

  1. Primeiro adicionamos um novo mรฉtodo que tem o mesmo nome da classe. Por ter o mesmo nome da classe, C# trata isso como um mรฉtodo construtor. Entรฃo agora sempre que o mรฉtodo chamador criar um objeto desta classe, este mรฉtodo serรก chamado por padrรฃo.
  2. No construtor Tutorial, estamos definindo o valor de TutorialID como 0 e TutorialName como โ€œDefaultโ€. Assim sempre que um objeto for criado, esses campos sempre terรฃo esses valores padrรฃo.

Agora vamos mudar para nosso arquivo Program.cs e apenas remover a linha que chama o mรฉtodo SetTutorial. Isso ocorre porque queremos apenas ver como o construtor funciona.

Construtor C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Tutorial
 {
  public int TutorialID; 
  public string TutorialName;
  
  public Tutorial()
  {
   TutorialID=0;
   TutorialName="Default";
  }
  public void SetTutorial(int pID,string pName) 
  {
   TutorialID=pID;
   TutorialName=pName;
  }
  public String GetTutorial()
  {
   return TutorialName;
  }
  
  static void Main(string[] args) 
  {
   Tutorial pTutor=new Tutorial();
    
   Console.WriteLine(pTutor.GetTutorial());
    
   Console.ReadKey(); 
  }
 }
}

Code Explicaรงรฃo:-

  1. O primeiro passo รฉ criar um objeto para a classe Tutorial. Isso รฉ feito atravรฉs da palavra-chave 'novo'.
  2. Usamos o mรฉtodo GetTutorial da classe Tutorial para obter o TutorialName. Isso รฉ entรฃo exibido no console por meio do mรฉtodo Console.WriteLine.

Se o cรณdigo acima for inserido corretamente e o programa for executado, a seguinte saรญda serรก exibida.

Saรญda:

Construtor C#

Na saรญda, podemos ver que o construtor foi realmente chamado e que o valor do TutorialName foi definido como โ€œDefaultโ€.

Observaรงรฃo: Aqui o valor โ€œdefaultโ€ รฉ obtido do construtor.

Resumo

  • Modificadores de acesso C# ou especificadores de acesso sรฃo usados โ€‹โ€‹para definir a visibilidade de uma propriedade ou mรฉtodo de classe.
  • Quando o modificador de acesso privado รฉ anexado a uma propriedade ou a um mรฉtodo, significa que esses membros nรฃo podem ser acessados โ€‹โ€‹por nenhum programa externo.
  • Quando o modificador de acesso pรบblico รฉ anexado a uma propriedade ou a um mรฉtodo, significa que esses membros podem ser acessados โ€‹โ€‹a partir de qualquer programa externo.
  • Quando o modificador de acesso protegido รฉ anexado a uma propriedade ou a um mรฉtodo, significa que esses membros podem ser acessados โ€‹โ€‹apenas por classes herdadas da classe atual.
  • Quando um modificador de acesso interno รฉ anexado a uma propriedade ou a um mรฉtodo, esses membros podem ser acessados โ€‹โ€‹apenas por um programa interno, mas nรฃo por um programa externo.
  • Os construtores C# sรฃo usados โ€‹โ€‹para inicializar os valores dos campos de classe quando seus objetos correspondentes sรฃo criados.

Resuma esta postagem com: