0Pricing
C# Academy · Lezione

Incapsulamento e modificatori di accesso

Impari come l’incapsulamento protegge i dati e come i modificatori di accesso controllano la visibilità

Incapsulamento e modificatori di accesso è una lezione C# Academy gratuita su CoddyKit. Questa è la lezione 5 di 7. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento C# Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso C# Academy include 7 lezioni in totale.

Introduzione all'incapsulamento

Incapsulamento e modificatori di accesso

Benvenuto nella prossima lezione! In questa lezione imparerà a conoscere l'incapsulamento, un concetto fondamentale della programmazione orientata agli oggetti, e come i modificatori di accesso controllano la visibilità dei membri di una classe in C#. Iniziamo!

Incapsulamento e modificatori di accesso — illustrazione 1

Che cos'è l'incapsulamento?

Che cos'è l'incapsulamento?

L'incapsulamento è il processo di raggruppamento di dati (campi) e comportamento (metodi) in una singola unità (classe), limitando al contempo l'accesso diretto ad alcuni componenti. Questo protegge l'integrità dei dati e impone regole per accedervi.

Punto chiave: l'incapsulamento consente di nascondere i dettagli di implementazione ed esporre solo le funzionalità necessarie.

Perché l'incapsulamento è importante?

Perché l'incapsulamento è importante?

L'incapsulamento offre diversi vantaggi:

  • Protezione dei dati: impedisce l'accesso non autorizzato o non valido ai campi della classe.
  • Manutenibilità del codice: le modifiche all'implementazione interna non influiscono sul codice esterno.
  • Maggiore modularità: mantiene il codice organizzato e facile da comprendere.

Esempio: una classe con campi privati e metodi pubblici per gestire tali campi dimostra l'incapsulamento.

Comprendere i modificatori di accesso

Comprendere i modificatori di accesso

I modificatori di accesso in C# definiscono l'ambito di accessibilità dei membri di una classe:

  • public: accessibile da qualsiasi punto.
  • 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.
  • protected internal: accessibile all'interno dello stesso assembly o nelle classi derivate.

Punto chiave: utilizzi i modificatori di accesso per applicare l'incapsulamento.

Esempio: incapsulamento con campi privati

Esempio: incapsulamento con campi privati

Ecco un esempio di incapsulamento con campi privati e metodi pubblici:

Punto chiave: utilizzi campi privati per limitare l'accesso diretto e metodi pubblici per esporre funzionalità controllate.

using System;

class BankAccount {
    private decimal balance; // Private field

    public void Deposit(decimal amount) {
        if (amount > 0) {
            balance += amount;
        } else {
            Console.WriteLine("Deposit amount must be positive.");
        }
    }

    public decimal GetBalance() {
        return balance; // Access balance through a method
    }
}

class Program {
    static void Main() {
        BankAccount account = new BankAccount();
        account.Deposit(100.50m); // Deposit money
        Console.WriteLine("Balance: $" + account.GetBalance()); // Get balance
    }
}

Incapsulamento con proprietà

Incapsulamento con proprietà

Le proprietà offrono un modo più chiaro per incapsulare i campi, consentendo al contempo di aggiungere una logica di convalida. Ecco un esempio:

Suggerimento: utilizzi le proprietà invece di getter e setter espliciti per migliorare la leggibilità.

using System;

class BankAccount {
    private decimal balance; // Private field

    public decimal Balance { // Property with validation
        get { return balance; }
        set {
            if (value >= 0) {
                balance = value;
            } else {
                Console.WriteLine("Balance cannot be negative.");
            }
        }
    }
}

class Program {
    static void Main() {
        BankAccount account = new BankAccount();
        account.Balance = 200; // Set balance
        Console.WriteLine("Balance: $" + account.Balance); // Get balance
    }
}

Esercizio pratico

Esercizio pratico

Crei una classe chiamata Student con i campi privati Name e Age. Utilizzi le proprietà per incapsulare questi campi e garantire che l'età sia sempre positiva. Ecco un esempio:

using System;

class Student {
    private string name;
    private int age;

    public string Name {
        get { return name; }
        set { name = value; }
    }

    public int Age {
        get { return age; }
        set {
            if (value > 0) {
                age = value;
            } else {
                Console.WriteLine("Age must be positive.");
            }
        }
    }
}

class Program {
    static void Main() {
        Student student = new Student();
        student.Name = "Alice";
        student.Age = 20;

        Console.WriteLine("Name: " + student.Name);
        Console.WriteLine("Age: " + student.Age);
    }
}

Buone pratiche per l'incapsulamento

Buone pratiche per l'incapsulamento

Ecco alcune buone pratiche:

  • Utilizzi sempre campi privati per i dati sensibili.
  • Utilizzi proprietà o metodi per convalidare e controllare l'accesso ai campi.
  • Combini l'incapsulamento con i modificatori di accesso per proteggere il codice.

Suggerimento: l'incapsulamento aiuta a creare applicazioni sicure e facili da mantenere.

Ottimo lavoro!

Ottimo lavoro!

Congratulazioni! Ha imparato a utilizzare l'incapsulamento e i modificatori di accesso per proteggere e organizzare i dati. Nella prossima lezione esploreremo l'ereditarietà e impareremo a riutilizzare il codice in modo efficiente. Continuiamo a programmare!

Incapsulamento e modificatori di accesso — illustrazione 10

Domande Frequenti

La lezione «Incapsulamento e modificatori di accesso» è gratuita?

Sì — il testo completo di «Incapsulamento e modificatori di accesso» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso C# Academy, passa a CoddyKit PRO. Il corso C# Academy include 7 lezioni in totale.

Cosa imparerò in «Incapsulamento e modificatori di accesso»?

Impari come l’incapsulamento protegge i dati e come i modificatori di accesso controllano la visibilità Eserciti C# Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare C# Academy?

Non è richiesta alcuna esperienza precedente. C# Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 5 di 7.

Quanto tempo richiede la lezione «Incapsulamento e modificatori di accesso»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione C# Academy?

Sì. Ogni lezione C# Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Cos’è la programmazione a oggetti?
  2. Definire classi e oggetti
  3. Capire proprietà e metodi
  4. Costruttori in C#
  5. Incapsulamento e modificatori di accesso
  6. Ereditarietà: riutilizzare il codice
  7. Polimorfismo e override dei metodi
← Torna a C# Academy