Modificatori di Accesso in C#
I modificatori di accesso in C# definiscono il livello di visibilità e accessibilità dei membri di una classe. Ciò determina quale parte del codice può accedere a tali membri. In questa lezione, esploreremo i diversi modificatori di accesso disponibili in C# e come influenzano l’accessibilità dei membri di una classe.
Modificatori di Accesso Disponibili
I principali modificatori di accesso in C# sono i seguenti:
-
public
: Il membro è accessibile da qualsiasi parte del codice, sia all’interno che all’esterno della classe. -
private
: Il membro è accessibile solo all’interno della classe in cui è dichiarato. Non è accessibile da altre classi. -
protected
: Il membro è accessibile solo all’interno della classe in cui è dichiarato e dalle classi derivate (sottoclassi). -
internal
: Il membro è accessibile all’interno dell’assembly in cui è definito. Gli assembly diversi non possono accedere a membri interni. -
protected internal
: Il membro è accessibile sia all’interno dell’assembly che dalle classi derivate (sottoclassi), anche se si trovano in assembly diversi.
Esempi di Utilizzo dei Modificatori
Modificatore public
:
public class MiaClasse
{
public int NumeroPubblico; // Accessibile da qualsiasi parte
}
Modificatore private
:
public class MiaClasse
{
private int NumeroPrivato; // Accessibile solo all'interno della classe
}
Modificatore protected
:
public class MiaClasse
{
protected int NumeroProtetto; // Accessibile all'interno della classe e dalle sottoclassi
}
Modificatore internal
:
internal class MiaClasse
{
internal int NumeroInterno; // Accessibile all'interno dell'assembly
}
Modificatore protected internal
:
public class MiaClasse
{
protected internal int NumeroProtettoInterno; // Accessibile all'interno dell'assembly e dalle sottoclassi
}
Utilizzo dei Modificatori nei Membri
I modificatori di accesso possono essere applicati sia alle classi che ai membri di classe, come campi, proprietĂ e metodi.
Esempio di Modificatori nei Membri:
public class MiaClasse
{
private int numeroPrivato; // Campo privato
public int NumeroPubblico { get; set; } // ProprietĂ pubblica
protected void MetodoProtetto() { } // Metodo protetto
internal int NumeroInterno { get; set; } // ProprietĂ interna
protected internal int NumeroProtettoInterno { get; set; } // ProprietĂ protetta interna
}
Conclusione
I modificatori di accesso sono uno strumento importante per gestire l’accessibilità dei membri delle classi in C#. Scegliere il modificatore di accesso corretto è essenziale per garantire che il codice sia organizzato, sicuro e ben strutturato. Utilizzando i modificatori di accesso in modo appropriato, è possibile controllare quali parti del codice possono accedere ai membri della classe e mantenere una struttura coerente nel proprio programma.