Menu
Coddy logo textTech

Costruttori

Fa parte della sezione Programmazione orientata agli oggetti del percorso C# di Coddy. Lezione 7 di 70.

Un costruttore è un metodo speciale che viene eseguito quando crei un oggetto. Inizializza le proprietà e i campi dell'oggetto.

Costruttore predefinito senza parametri

public class Book
{
    public string Title { get; set; }
    public string Author { get; set; }
    
    // Costruttore predefinito
    public Book()
    {
        Title = "Unknown";
        Author = "Unknown";
    }
}

Costruttore parametrizzato

public class Book
{
    public string Title { get; set; }
    public string Author { get; set; }
    
    // Costruttore con parametri
    public Book(string title, string author)
    {
        Title = title;
        Author = author;
    }
}

Sovraccarico dei costruttori - più costruttori

public class Book
{
    public string Title { get; set; }
    public string Author { get; set; }
    public int Pages { get; set; }
    
    // Costruttore con due parametri
    public Book(string title, string author)
    {
        Title = title;
        Author = author;
        Pages = 0;
    }
    
    // Costruttore con tre parametri
    public Book(string title, string author, int pages)
    {
        Title = title;
        Author = author;
        Pages = pages;
    }
}

Concatenamento dei costruttori con this

public class Book
{
    public string Title { get; set; }
    public string Author { get; set; }
    public int Pages { get; set; }
    
    // Costruttore principale
    public Book(string title, string author, int pages)
    {
        Title = title;
        Author = author;
        Pages = pages;
    }
    
    // Chiama il costruttore principale con il numero di pagine predefinito
    public Book(string title, string author) : this(title, author, 0)
    {
    }
}

Creare oggetti con costruttori diversi

Book book1 = new Book("1984", "George Orwell");
Book book2 = new Book("Harry Potter", "J.K. Rowling", 500);

I costruttori hanno lo stesso nome della classe e non hanno un tipo restituito. Vengono eseguiti automaticamente quando usi la parola chiave new. Puoi avere più costruttori con parametri diversi (overloading).

challenge icon

Sfida

Medio

Crea tre costruttori per la classe Product usando l'overloading e il concatenamento dei costruttori:

  • Un costruttore con 3 parametri: name, price e stock
  • Un costruttore con 2 parametri: name e price (stock è impostato su 0 per impostazione predefinita)
  • Un costruttore predefinito senza parametri (name = "Unknown", price = 0, stock = 0)

Usa il concatenamento dei costruttori con this per evitare duplicazioni di codice.

Provalo tu

using System;

class Program
{
    static void Main()
    {
        string name = Console.ReadLine();
        decimal price = decimal.Parse(Console.ReadLine());
        int stock = int.Parse(Console.ReadLine());
        
        Product product1 = new Product(name, price, stock);
        Product product2 = new Product();
        Product product3 = new Product("Keyboard", 79.99m);
        
        Console.WriteLine($"Product 1: {product1.Name} - ${product1.Price} (Stock: {product1.Stock})");
        Console.WriteLine($"Product 2: {product2.Name} - ${product2.Price} (Stock: {product2.Stock})");
        Console.WriteLine($"Product 3: {product3.Name} - ${product3.Price} (Stock: {product3.Stock})");
    }
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Programmazione orientata agli oggetti

Esercitati da solo: Compilatore C# online