🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

Esercizi Modificatori di aAccesso in C#

Codegrind Team•Jul 22 2023

Ecco degli esercizi semplici con soluzione per praticare l’utilzzo degli modificatori di accesso delle classi in C#.

Esercizio 1

Dichiarare una classe chiamata "Persona" con una variabile privata "nome" e un metodo pubblico "StampaNome" che stampa il nome.
class Persona
{
    private string nome;

    public void StampaNome()
    {
        Console.WriteLine("Nome: " + nome);
    }
}

Esercizio 2

Aggiungere un costruttore pubblico alla classe "Persona" per impostare il valore della variabile "nome" all'inizializzazione dell'oggetto.
class Persona
{
    private string nome;

    public Persona(string nome)
    {
        this.nome = nome;
    }

    public void StampaNome()
    {
        Console.WriteLine("Nome: " + nome);
    }
}

// Esempio di utilizzo del costruttore
Persona persona = new Persona("Mario");
persona.StampaNome();

Esercizio 3

Aggiungere una proprietĂ  pubblica chiamata "Eta" alla classe "Persona" per consentire la lettura e la scrittura dell'etĂ  della persona.
class Persona
{
    private string nome;

    public Persona(string nome)
    {
        this.nome = nome;
    }

    public void StampaNome()
    {
        Console.WriteLine("Nome: " + nome);
    }
}

// Esempio di utilizzo del costruttore
Persona persona = new Persona("Mario");
persona.StampaNome();

Esercizio 4

Aggiungere un metodo privato chiamato "CalcolaAnnoDiNascita" alla classe "Persona" per calcolare l'anno di nascita basato sull'etĂ  corrente.
class Persona
{
    private string nome;
    public int Eta { get; set; }

    public Persona(string nome)
    {
        this.nome = nome;
    }

    public void StampaNome()
    {
        Console.WriteLine("Nome: " + nome);
    }

    private int CalcolaAnnoDiNascita()
    {
        int annoCorrente = DateTime.Now.Year;
        return annoCorrente - Eta;
    }
}

// Esempio di utilizzo del metodo privato
Persona persona = new Persona("Mario");
persona.Eta = 30;
int annoDiNascita = persona.CalcolaAnnoDiNascita();
Console.WriteLine("Anno di nascita: " + annoDiNascita);

Esercizio 5

Dichiarare una classe "Banca" con un campo privato "saldo" e un metodo pubblico "VisualizzaSaldo" che stampa il saldo disponibile.
class Banca
{
    private decimal saldo;

    public void VisualizzaSaldo()
    {
        Console.WriteLine("Saldo: " + saldo);
    }
}

Esercizio 6

Aggiungere un metodo protetto chiamato "PrelevaDenaro" alla classe "Banca" per consentire il prelievo di denaro dal saldo.
class Banca
{
    private decimal saldo;

    public void VisualizzaSaldo()
    {
        Console.WriteLine("Saldo: " + saldo);
    }

    protected void PrelevaDenaro(decimal importo)
    {
        saldo -= importo;
    }
}

// Esempio di utilizzo del metodo protetto
Banca banca = new Banca();
banca.VisualizzaSaldo();
banca.PrelevaDenaro(100);
banca.VisualizzaSaldo();

Esercizio 7

Creare una classe "Prodotto" con un campo interno "prezzo" e un metodo interno "CalcolaSconto" per calcolare lo sconto sul prezzo del prodotto.
class Prodotto
{
    private decimal prezzo;

    public void VisualizzaPrezzo()
    {
        Console.WriteLine("Prezzo: " + prezzo);
    }

    internal decimal CalcolaSconto(decimal scontoPercentuale)
    {
        decimal sconto = prezzo * scontoPercentuale / 100;
        return prezzo - sconto;
    }
}

// Esempio di utilizzo del metodo interno
Prodotto prodotto = new Prodotto();
prodotto.VisualizzaPrezzo();
decimal prezzoScontato = prodotto.CalcolaSconto(10);
Console.WriteLine("Prezzo scontato: " + prezzoScontato);

Esercizio 8

Creare una classe "Cancello" con un campo protetto "aperto" e un metodo protetto "StatoCancello" per visualizzare lo stato attuale del cancello.
class Cancello
{
    protected bool aperto;

    protected void StatoCancello()
    {
        if (aperto)
            Console.WriteLine("Il cancello è aperto.");
        else
            Console.WriteLine("Il cancello è chiuso.");
    }
}

// Esempio di utilizzo del metodo protetto
Cancello cancello = new Cancello();
cancello.StatoCancello();

Esercizio 9

Creare una classe "Database" con un campo privato "connessione" e un metodo privato "ConnettiDatabase" per stabilire la connessione al database.
class Database
{
    private string connessione;

    private void ConnettiDatabase()
    {
        // Codice per stabilire la connessione al database
    }
}

Esercizio 10

Creare una classe "Utente" con un campo interno "username" e un metodo interno "ValidaPassword" per verificare la correttezza della password inserita dall'utente.
class Utente
{
    internal string username;

    internal bool ValidaPassword(string password)
    {
        // Codice per validare la password
    }
}