Modificatori di accesso (specificatori) in C# con esempi di programmi

Che cos'è il modificatore di accesso (specificatore) in C#?

Modificatori di accesso o Gli specificatori di accesso in C# sono le parole chiave utilizzate per definire la visibilità di una proprietà o di un metodo di classe. Viene utilizzato quando non vuoi che altri programmi vedano le proprietà o i metodi di una classe. I modificatori di accesso limitano l'accesso in modo che altri programmi non possano vedere le proprietà o i metodi di una classe.

Esistono 6 tipi di modificatori di accesso in C#:

  • Privata
  • Pubblico
  • Protetta
  • Interno
  • Interno protetto
  • Privato Protetto

Impareremo i principali modificatori di accesso in C# con esempi di programmi come spiegato di seguito.

Modificatori di accesso privato in C#

Quando il modificatore di accesso privato è collegato a una proprietà o a un metodo, significa che non è possibile accedere a tali membri da alcun programma esterno.

Esempio di modificatore di accesso privato

Facciamo un esempio e vediamo cosa succede quando utilizziamo il modificatore di accesso privato.

Modifichiamo il codice corrente nel nostro file Tutorial.cs. Nel metodo SetTutorial, cambiamo la parola chiave public in private.

Modificatori di accesso privato

Passiamo ora al nostro file Program.cs. Noterai che c'è una linea ondulata rossa sotto il metodo SetTutorial.

Poiché abbiamo dichiarato il metodo SetTutorial come privato nella nostra classe Tutorial, Visual Studio lo ha rilevato. Ha comunicato all'utente evidenziandolo che ora questo metodo non funzionerà dal file Program.cs.

Modificatore di accesso privato

Modificatori dell'accesso pubblico C#

Quando il modificatore di accesso pubblico è collegato a una proprietà o a un metodo, significa che è possibile accedere a tali membri da qualsiasi programma esterno. Lo abbiamo già visto nei nostri esempi precedenti.

Esempio di modificatore di accesso pubblico

Modificatori dell'accesso pubblico C#

Poiché abbiamo definito i nostri metodi come pubblici nella classe Tutorial, è possibile accedervi dal file Program.cs.

Modificatori di accesso protetto in C#

Quando il modificatore di accesso protetto è collegato a una proprietà o a un metodo, significa che è possibile accedere a tali membri solo da classi ereditate dalla corrente classe. Ciò verrà spiegato più dettagliatamente nella classe Ereditarietà.

Modificatori di accesso interno C#

Quando un modificatore di accesso interno è collegato a una proprietà o a un metodo, è possibile accedere a tali membri solo da un programma interno ma non da un programma esterno.

Costruttore C#

C# I costruttori vengono utilizzati per inizializzare i valori dei campi della classe quando vengono creati gli oggetti corrispondenti. Un costruttore è un metodo che ha lo stesso nome di quello della classe. Se un costruttore è definito in una classe, fornirà il primo metodo che viene chiamato quando viene creato un oggetto. Supponiamo di avere una classe chiamata Employee. Anche il metodo di costruzione verrebbe denominato Employee().

Le seguenti cose fondamentali devono essere notate sui metodi del costruttore

  1. Il modificatore di accesso predefinito C# per il costruttore deve essere reso pubblico.
  2. Non dovrebbe esserci alcun tipo restituito per il metodo del costruttore.

Esempio di costruttore C#

Vediamo ora come possiamo incorporare l'utente dei costruttori nel nostro codice. Utilizzeremo i costruttori per inizializzare i campi TutorialID e TutorialName su alcuni valori predefiniti quando viene creato l'oggetto.

Passo 1) Il primo passo è creare il costruttore per la nostra classe Tutorial. In questo passaggio, aggiungiamo il codice seguente al file Tutorial.cs.

Costruttore C#

Spiegazione del codice: -

  1. Per prima cosa aggiungiamo un nuovo metodo che ha lo stesso nome di quello della classe. Poiché ha lo stesso nome della classe, C# lo considera un metodo di costruzione. Quindi ora ogni volta che il metodo chiamante crea un oggetto di questa classe, questo metodo verrà chiamato per impostazione predefinita.
  2. Nel costruttore del Tutorial, impostiamo il valore di TutorialID su 0 e TutorialName su "Default". Pertanto, ogni volta che viene creato un oggetto, questi campi avranno sempre questi valori predefiniti.

Passiamo ora al file Program.cs e rimuoviamo semplicemente la riga che chiama il metodo SetTutorial. Questo perché vogliamo solo vedere come funziona il costruttore.

Costruttore 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(); 
  }
 }
}

Spiegazione del codice: -

  1. Il primo passo è creare un oggetto per la classe Tutorial. Questo viene fatto tramite la parola chiave "nuovo".
  2. Usiamo il metodo GetTutorial della classe Tutorial per ottenere TutorialName. Questo viene quindi visualizzato sulla console tramite il metodo Console.WriteLine.

Se il codice sopra riportato viene inserito correttamente e il programma viene eseguito, verrà visualizzato il seguente output.

Produzione:

Costruttore C#

Dall'output possiamo vedere che il costruttore è stato effettivamente chiamato e che il valore di TutorialName è stato impostato su "Default".

Nota: Qui il valore "default" viene recuperato dal costruttore.

Sintesi

  • I modificatori di accesso o gli specificatori di accesso C# vengono utilizzati per definire la visibilità di una proprietà o di un metodo di classe.
  • Quando il modificatore di accesso privato è collegato a una proprietà o a un metodo, significa che non è possibile accedere a tali membri da alcun programma esterno.
  • Quando il modificatore di accesso pubblico è collegato a una proprietà o a un metodo, significa che è possibile accedere a tali membri da qualsiasi programma esterno.
  • Quando il modificatore di accesso protetto è collegato a una proprietà o a un metodo, significa che a tali membri possono accedere solo le classi ereditate dalla classe corrente.
  • Quando un modificatore di accesso interno è collegato a una proprietà o a un metodo, è possibile accedere a tali membri solo da un programma interno ma non da un programma esterno.
  • I costruttori C# vengono utilizzati per inizializzare i valori dei campi della classe quando vengono creati gli oggetti corrispondenti.

Riassumi questo post con: