TOC

This article is currently in the process of being translated into Italian (~99% done).

Classi:

Introduction to C# classes

In molti corsi di autoapprendimento della programmazione, la parte sulle Classi viene di solito effettuata molto avanti. D'altro canto, dato che il C# è completamente basato sulla programmazione ad oggetti, e quindi sulle classi, noi vedremo una prima introduzione di base alle loro caratteristiche più importanti ora.

Per prima cosa una Classe è un gruppo di metodi e variabili collegati tra di loro. Una classe descrive queste cose e, nella maggior parte dei casi, tu creerai una istanza della classe che prende il nome di Oggetto. In questo oggetto andrai ad usare i metodi e le variabili definite. Naturalmente potrai creare quante istanze di una classe vorrai. Le Classi, e la programmazione ad oggetti sono, in generale, un argomento molto vasto. Noi ne approfondiremo una parte in questo capitolo ma non lo esauriremo.

Nel capitolo Hello World, abbiamo visto una classe utilizzata per la prima volta, dato che in C# tutto è fatto tramite classi. Ora estendiamo l'esempio Hello World con una classe costruita da noi stessi:

using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Car car;

            car = new Car("Red");
            Console.WriteLine(car.Describe());

            car = new Car("Green");
            Console.WriteLine(car.Describe());

            Console.ReadLine();

        }
    }

    class Car
    {
        private string color;

        public Car(string color)
        {
            this.color = color;
        }

        public string Describe()
        {
            return "This car is " + Color;
        }

        public string Color
        {
            get { return color; }
            set { color = value; }
        }
    }
}

Allora, ci sono molte cose nuove in questo esempio ma la maggior parte sono basate su cose che abbiamo già usato prima nel corso. Come puoi vedere abbiamo definito una nuova classe chiamata Car. E' dichiarata nello stesso file della nostra applicazione principale per semplicità di lettura ma, di solito, ogni nuova classe è definita nel proprio file. Questa classe definisce una sola variabile, chiamata color, che è naturalmente usata per descrivere il colore della nostra macchina. L'abbiamo dichiarata come privata, questa è una buona pratica di programmazione - accedere alle variabili dall'esterno dovrebbe essere fatto usando le proprietà. Le proprietà di Color sono definite alla fine della classe, dando così accesso alla variabile color.

In aggiunta, la nostra classe Car definisce un Costruttore. Questo acquisisce un parametro che ci permette di inizializzare l'oggetto Car con un colore. Dato che c'è solo un costruttore, l'oggetto Car può essere instanziato solo con un colore. Il metodo Describe() ci permette di ricevere un simpatico messaggio con l'unica informazione che abbiamo memorizzato della nostra auto. Semplicemente ci restituisce una stringa con l'informazione che abbiamo fornito.

Ora, nella applicazione principale, main, dichiariamo una variabile di tipo Car. Dopodiché creiamo una nuovo istanza di questa variabile mettendo "Red" come suo parametro. In accordo al codice della classe, il colore Red sarà assegnato come colore della variabile car. Per verificarlo, usiamo il metodo Describe() e, per mostrare come sia semplice creare multiple istanze della stessa classe, lo facciamo di nuovo ma usando un colore diverso. Abbiamo appena creato la nostra prima classe funzionale e la abbiamo usata.

Nei prossimi capitoli spiegheremo in maggior dettaglio i concetti di: proprietà, costruttori e visibilità.

This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!