Introduzione alle classi in C#

Le classi sono gli elementi costitutivi fondamentali della programmazione orientata agli oggetti in C#. Consentono ai programmatori di definire il progetto per la creazione di oggetti, che sono istanze della classe. Le classi incapsulano dati e comportamento in una singola unità, fornendo un modo modulare e riutilizzabile per organizzare il codice.

Definizione di classe in C#

Le classi sono definite nel modo seguente:

// Define a class called 'Person'
class Person
{
    // Class variables (also known as fields)
    public string Name;
    public int Age;

    // Class method
    public void Greet()
    {
        Console.WriteLine($"Hello, my name is {Name} and I'm {Age} years old.");
    }
}

// Create objects of the 'Person' class
Person person1 = new Person();
person1.Name = "John";
person1.Age = 30;
person1.Greet();  // Output: Hello, my name is John and I'm 30 years old.

Person person2 = new Person();
person2.Name = "Jane";
person2.Age = 25;
person2.Greet();  // Output: Hello, my name is Jane and I'm 25 years old.
  • Nel codice sopra, definiamo una classe chiamata 'Person', che ha due variabili di classe pubbliche: 'Name' (di tipo 'string') e 'Age' (di tipo 'int'). Abbiamo anche un metodo pubblico chiamato 'Greet()' che stampa un saluto utilizzando le variabili 'Name' e 'Age'.
  • Per creare oggetti della classe 'Person', utilizziamo 'new' parola chiave seguita dal nome della classe ('Person'). Quindi assegniamo valori alle variabili 'Name' e 'Age' di ogni oggetto. Infine, chiamiamo il metodo 'Greet()' su ciascun oggetto per visualizzare il saluto.
  • Le classi forniscono un modo per creare più istanze (oggetti) con i propri dati univoci, consentendo di creare tutti gli oggetti 'Person' quanti necessari e accedere ai loro proprietà e metodi in modo indipendente.

Conclusione

Le classi forniscono una base per la creazione di applicazioni complesse con C#, offrendo funzionalità quali costruttori per l'inizializzazione degli oggetti, proprietà per l'accesso controllato ai membri della classe e modificatori di accesso per la gestione della visibilità. Sfruttando efficacemente le classi, è possibile creare strutture di codice modulari, gestibili e scalabili.