Esaminare i membri della classe

Completato

La programmazione orientata agli oggetti (OOP) è un paradigma di programmazione che usa oggetti per modellare entità reali. In OOP le classi sono il progetto per la creazione di oggetti e definiscono i dati e il comportamento di tali oggetti.

Le classi usano campi per definire i dati di un oggetto, le proprietà per controllare l'accesso ai campi e i metodi per definire il comportamento di un oggetto.

Sebbene le proprietà e i metodi ottengano spesso la maggior attenzione, le classi includono altri membri che consentono di definire la struttura e il comportamento. La tabella seguente elenca i membri di una classe:

Membro Descrizione
Campi I campi sono variabili dichiarate nell'ambito della classe. Un campo può essere un tipo numerico predefinito o un'istanza di un'altra classe. Ad esempio, una classe di calendario può avere un campo contenente la data corrente.
Costanti Le costanti sono campi il cui valore è impostato in fase di compilazione e non può essere modificato.
Proprietà Le proprietà sono metodi di una classe a cui si accede come se fossero campi in tale classe. Una proprietà può fornire protezione per un campo di classe per impedirne la modifica senza conoscere l'oggetto.
Metodi I metodi definiscono le azioni che una classe può eseguire. I metodi possono accettare parametri che forniscono dati di input e possono restituire dati di output tramite parametri. I metodi possono anche restituire un valore direttamente, senza usare un parametro .
Avvenimenti Gli eventi forniscono notifiche sulle occorrenze, ad esempio i clic sui pulsanti o il completamento corretto di un metodo, ad altri oggetti. Gli eventi vengono definiti e attivati tramite delegati.
Operatori Gli operatori di overload sono considerati membri di tipo. Quando si esegue l'overload di un operatore, lo si definisce come metodo statico pubblico in un tipo .
Indicizzatori Gli indicizzatori consentono di indicizzare un oggetto in modo simile alle matrici.
Costruttori I costruttori sono metodi che vengono chiamati quando l'oggetto viene creato per la prima volta. Vengono spesso usati per inizializzare i dati di un oggetto.
Finalizzatori I finalizzatori vengono usati raramente in C#. Si tratta di metodi chiamati dal motore di esecuzione di runtime quando l'oggetto sta per essere rimosso dalla memoria. Vengono usati per assicurarsi che tutte le risorse che devono essere rilasciate vengano gestite in modo appropriato.
Tipi annidati I tipi annidati sono tipi dichiarati all'interno di un altro tipo. I tipi annidati vengono spesso usati per descrivere gli oggetti utilizzati solo dai tipi che li contengono.

Campi, proprietà, metodi e costruttori in una definizione di classe

Anche se una definizione di classe può includere tutti i membri elencati nella tabella, i più comuni sono campi, proprietà, metodi e costruttori. Questi membri formano la struttura principale della maggior parte delle classi in C#, fornendo l'archiviazione dei dati necessaria, meccanismi di accesso, definizioni di comportamento e logica di inizializzazione.

Il frammento di codice seguente illustra come usare i membri di classe comuni per definire e implementare una classe in C#:


public class Person
{
    // Fields
    private string name;
    private int age;

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

    public int Age
    {
        get { return age; }
        set { age = value; }
    }

    // Constructors
    public Person(string name, int age)
    {
        Name = name;
        Age = age;
    }

    // Methods
    public void Display()
    {
        Console.WriteLine($"Name: {Name}, Age: {Age}");
    }
}

class Program
{
    static void Main()
    {
        Person person = new Person("PersonName", 30);
        person.Display();
    }
}

In questo esempio vengono usati i tipi di membro seguenti:

  • Campi: la classe Person ha due campi, name e age, che sono privati.
  • Proprietà: la classe Person ha due proprietà, Name e Age, che forniscono l'accesso ai campi privati. Le proprietà usano le funzioni di accesso get e set per leggere e scrivere i valori dei campi.
  • Costruttori: la classe Person ha un costruttore che inizializza i campi name e age quando viene creato un nuovo oggetto Person.
  • Metodi: la classe Person ha un metodo Display che scrive il nome e l'età della persona nella console.

La classe Program contiene il metodo Main, che funge da punto di ingresso dell'applicazione. Il metodo Main crea un nuovo oggetto Person, lo inizializza con il nome "John" e l'età 30 e quindi chiama il metodo person.Display per scrivere le informazioni della persona nella console.