Modificatori d’accesso in C#

I modificatori di accesso in C# sono fondamentali per la gestione della visibilità delle variabili e metodi all’interno del codice. Grazie a questi, puoi controllare chi può accedere a determinate informazioni o funzionalità di una classe o di un membro.

In C#, ci sono diversi tipi di modificatori di accesso, ciascuno con la propria funzione specifica. Ecco i principali:

  • public: accessibile ovunque.
  • private: accessibile solo all’interno della stessa classe.
  • protected: accessibile all’interno della stessa classe e delle classi derivate.
  • internal: accessibile all’interno dello stesso assembly (progetto).
  • protected internal: combinazione di protected e internal, accessibile all’interno dello stesso assembly o dalle classi derivate.

Esempi di utilizzo dei modificatori

Ora vediamo come utilizzare ciascuno di questi modificatori di accesso con esempi pratici. Questo ti aiuterà a capire meglio come implementare questi concetti nel tuo codice.

Modificatore public:

Il modificatore public rende il membro accessibile da qualsiasi parte del codice, all’interno o all’esterno del progetto.

public class MyClass
{
    public string MyPublicProperty { get; set; }

    public void MyPublicMethod()
    {
        // Metodo accessibile ovunque
    }
}

Modificatore private:

Il modificatore private limita l’accesso ai membri solo all’interno della classe in cui sono dichiarati. Questo è utile per mantenere nascosti dettagli di implementazione.

public class MyClass
{
    private int myPrivateField;

    private void MyPrivateMethod()
    {
        // Accessibile solo all'interno della classe
    }
}

Modificatore protected:

Il modificatore protected consente l’accesso ai membri solo all’interno della classe e delle sue classi derivate.

public class MyBaseClass
{
    protected string MyProtectedProperty { get; set; }
}

public class MyDerivedClass : MyBaseClass
{
    public void AccessProtectedMember()
    {
        MyProtectedProperty = "Accessibile dalla classe derivata";
    }
}

Modificatore internal:

Il modificatore internal consente l’accesso ai membri solo all’interno dello stesso progetto (assembly). Non sono accessibili da altri progetti.

internal class MyInternalClass
{
    internal void MyInternalMethod()
    {
        // Accessibile solo all'interno dell'assembly
    }
}

Modificatore protected internal:

Il modificatore protected internal consente l’accesso ai membri sia dalle classi derivate che all’interno dello stesso progetto.

public class MyClass
{
    protected internal void MyProtectedInternalMethod()
    {
        // Accessibile all'interno dell'assembly o dalle classi derivate
    }
}

Utilizzo dei modificatori nei membri

Oltre che nelle classi, i modificatori di accesso vengono utilizzati anche nei membri di una classe, come campi, proprietà e metodi. Questo permette un controllo preciso su chi può accedere a questi elementi.

Esempio di modificatori nei membri:

Ecco un esempio che mostra come i modificatori possono essere applicati a vari membri all’interno di una classe.

public class MyClass
{
    public int MyPublicField;
    private string myPrivateField;
    protected bool MyProtectedField;

    internal void MyInternalMethod()
    {
        // Metodo accessibile solo all'interno dell'assembly
    }
}

Corsi correlati

In Arrivo

Design Pattern per videogiochi

I Design Pattern sono soluzioni a problemi comuni che si incontrano nello sviluppo del software. Nel contesto dei videogiochi, questi pattern possono aiutare a gestire la complessità crescente dei giochi moderni. Sei appassionato di videogiochi? Hai mai pensato a come vengono progettati e sviluppati? Sei curioso di scoprire i segreti dietro la creazione dei tuoi giochi preferiti? Allora sei nel posto giusto! Questo corso è stato progettato per fornirti una solida comprensione dei Design Pattern, strumenti fondamentali per ogni sviluppatore di giochi. Attraverso esempi pratici e realistici, esploreremo insieme come questi pattern possono aiutarti a creare giochi più efficienti, flessibili e mantenibili.

In Arrivo

Corso Fondamenti di Python

Python, uno dei linguaggi di programmazione più popolari al mondo, è ampiamente utilizzato da colossi dell’informatica e della tecnologia come Google, la Nasa e Mozilla.
Questo corso sui fondamenti di Python esplorerà le ragioni del suo successo duraturo. Impareremo la potente ed espressiva sintassi di Python, che consente di ottenere risultati impressionanti con poche righe di codice.

In Arrivo

Blender Masterclass 2

I paesaggi, in generale, possono risultare intimidatori data la loro complessità, costituita da numerosi elementi che sembrano formare qualcosa di virtualmente infinito. Durante le lezioni di questo corso, ci concentreremo su una scomposizione delle diverse fasi coinvolte nella creazione di una scena, affrontandole una alla volta attraverso passi graduati.

In Arrivo

Blender Masterclass 1

In questo corso di Blender 3D, Masha, in collaborazione con Gedemy, vi mostrerà il processo di modellazione, UV mapping, shading, e texture painting di un asset. Una volta apprese le basi, vedremo anche come effettuare il baking delle textures e la preparazione con successivo export della mesh in modo che possa essere utilizzabile all’interno di un qualsiasi altro software.

Crea il tuo account gratuito Gedemy

Gedemy è la piattaforma di formazione che ti permette di sviluppare competenze verticali corsi in un unico piano realizzati da esperti in ambiti come Marketing, Business, Design, Tech, AI e molto altro.

Login

Oppure

Non sei ancora registrato?