Menu
Coddy logo textTech

Constructeurs

Fait partie de la section Programmation Orientée Objet du Journey C# de Coddy — leçon 7 sur 70.

Un constructeur est une méthode spéciale qui s'exécute lorsque vous créez un objet. Il initialise les propriétés et les champs de l'objet.

Constructeur par défaut sans paramètres

public class Book
{
    public string Title { get; set; }
    public string Author { get; set; }
    
    // Constructeur par défaut
    public Book()
    {
        Title = "Unknown";
        Author = "Unknown";
    }
}

Constructeur paramétré

public class Book
{
    public string Title { get; set; }
    public string Author { get; set; }
    
    // Constructeur avec paramètres
    public Book(string title, string author)
    {
        Title = title;
        Author = author;
    }
}

Surcharge de constructeur - plusieurs constructeurs

public class Book
{
    public string Title { get; set; }
    public string Author { get; set; }
    public int Pages { get; set; }
    
    // Constructeur avec deux paramètres
    public Book(string title, string author)
    {
        Title = title;
        Author = author;
        Pages = 0;
    }
    
    // Constructeur avec trois paramètres
    public Book(string title, string author, int pages)
    {
        Title = title;
        Author = author;
        Pages = pages;
    }
}

Chaînage de constructeurs avec this

public class Book
{
    public string Title { get; set; }
    public string Author { get; set; }
    public int Pages { get; set; }
    
    // Constructeur principal
    public Book(string title, string author, int pages)
    {
        Title = title;
        Author = author;
        Pages = pages;
    }
    
    // Appelle le constructeur principal avec un nombre de pages par défaut
    public Book(string title, string author) : this(title, author, 0)
    {
    }
}

Création d'objets avec différents constructeurs

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

Les constructeurs ont le même nom que la classe et n'ont pas de type de retour. Ils s'exécutent automatiquement lorsque vous utilisez le mot-clé new. Vous pouvez avoir plusieurs constructeurs avec des paramètres différents (surcharge).

challenge icon

Défi

Moyen

Créez trois constructeurs pour la classe Product en utilisant la surcharge et le chaînage de constructeurs :

  • Un constructeur avec 3 paramètres : name, price, et stock
  • Un constructeur avec 2 paramètres : name et price (stock par défaut à 0)
  • Un constructeur par défaut sans paramètres (name = "Unknown", price = 0, stock = 0)

Utilisez le chaînage de constructeurs avec this pour éviter la duplication de code.

Essayez vous-même

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 iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Programmation Orientée Objet