Esaminare i membri della classe
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
Personha due campi,nameeage, che sono privati. - Proprietà: la classe
Personha due proprietà,NameeAge, che forniscono l'accesso ai campi privati. Le proprietà usano le funzioni di accessogetesetper leggere e scrivere i valori dei campi. - Costruttori: la classe
Personha un costruttore che inizializza i campinameeagequando viene creato un nuovo oggettoPerson. - Metodi: la classe
Personha un metodoDisplayche 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.