Oggetti, classi e strutture (Guida per programmatori C#)
C# è un linguaggio di programmazione orientato agli oggetti e utilizza classi e strutture per implementare tipi quali Windows Form, controlli di interfaccia utente e strutture dei dati. Un'applicazione C# è in genere composta da classi definite dal programmatore, combinate con classi di .NET Framework.
In C# esistono molti modi di definire delle classi, ad esempio, fornendo differenti livelli di accesso, ereditando funzionalità da altre classi e consentendo al programmatore di specificare ciò che accade quando viene creata un'istanza di un tipo oppure questo viene eliminato in modo permanente.
È anche possibile definire le classi come generiche tramite l'utilizzo di parametri di tipo che consentono al codice client di personalizzare la classe rendendola efficace e indipendente dai tipi. Il codice client può utilizzare una singola classe generica, ad esempio la classe System.Collections.Generic.List disponibile nella libreria di classi di .NET Framework, per archiviare valori integer, stringhe o qualsiasi altro tipo di oggetto.
Cenni preliminari
Di seguito sono riportate le caratteristiche principali di oggetti, classi e strutture:
Gli oggetti sono istanze di un determinato tipo di dati. Il tipo di dati rappresenta il progetto iniziale per l'oggetto creato, o di cui viene creata un'istanza, quando si esegue l'applicazione.
Le classi e le strutture vengono utilizzate per la definizione di nuovi tipi di dati.
Le classi e le strutture costituiscono i blocchi di generazione delle applicazioni C#, contenenti codice e dati. Un'applicazione C# conterrà sempre almeno una classe.
Una struttura può essere considerata una classe leggera, ideale per creare tipi di dati che archiviano piccole quantità di dati. Non rappresenta un tipo che può essere esteso in un secondo momento tramite l'ereditarietà.
In C# le classi supportano l'ereditarietà, pertanto possono derivare da una classe definita in precedenza.
Sezioni correlate
Procedura: differenza tra il passaggio a un metodo di una struttura e di un riferimento a una classe
Specifiche del linguaggio C#
Per ulteriori informazioni, vedere le seguenti sezioni incluse in Specifiche del linguaggio C#:
1.6 Classi e oggetti
1.7 Strutture
3.4.4 Membri delle classi
4.2.1 Tipi di classe
10 Classi
11 Strutture