Vai al contenuto principale
Pubblicato il

Costruttori in C#

Condividi:

Introduzione

I costruttori svolgono un ruolo fondamentale nella programmazione orientata agli oggetti in C#. Consentono di inizializzare un oggetto nel momento della sua creazione, garantendo che l'oggetto inizi il suo ciclo di vita in uno stato valido.

Cosa sono i Costruttori?

I costruttori sono metodi speciali che vengono chiamati nel momento in cui viene creato un oggetto. Vengono utilizzati per inizializzare lo stato di un oggetto con valori specifici e per garantire che l'oggetto sia pronto all'uso immediatamente dopo la sua creazione.

Caratteristiche Chiave dei Costruttori

  1. Stesso Nome della Classe: Il nome di un costruttore deve essere esattamente uguale a quello della classe.
  2. Nessun Tipo di Ritorno: I costruttori non hanno un tipo di ritorno dichiarato, nemmeno void.
  3. Overloading dei Costruttori: Una classe può avere più di un costruttore, ciascuno con parametri diversi.

Tipi di Costruttori in C#

  1. Costruttore Predefinito: Un costruttore senza parametri. Se non viene definito alcun costruttore, C# genera automaticamente un costruttore predefinito.
  2. Costruttore Parametrizzato: Accetta parametri, consentendo di inizializzare un oggetto con valori specifici.
  3. Costruttore Statico: Eseguito una sola volta per inizializzare i membri statici della classe.

Costruttori Privati e Concatenamento di Costruttori

  • Costruttori Privati: Vengono utilizzati in pattern di design come il Singleton. Impediscono la creazione di istanze della classe dall'esterno della classe stessa.
  • Concatenamento di Costruttori: Consente a un costruttore di chiamarne un altro nella stessa classe usando : this(). Questo aiuta a evitare la duplicazione del codice.

Esempio di Codice con Diversi Costruttori

Vediamo un esempio che illustra i diversi tipi di costruttori:

namespace Base {
  class Persona {
    public string Nome { get; set; }
    public int Eta { get; set; }

    // Costruttore predefinito
    public Persona() {
      Nome = "Sconosciuto";
    }

    // Costruttore parametrizzato
    public Persona(string nome) {
      Nome = nome;
    }

    // Concatenamento di costruttori
    public Persona(string nome, int eta) : this(nome) {
      Eta = eta;
    }
  }
}

Conclusione

I costruttori sono fondamentali nella programmazione orientata agli oggetti. Non si limitano a configurare un oggetto per un uso immediato, ma contribuiscono anche a mantenere l'integrità dei dati e a promuovere pratiche di programmazione sicure.

Happy coding!