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;
    }
}

Enchaînement des 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 des pages par défaut
    public Book(string title, string author) : this(title, author, 0)
    {
    }
}

Créer des objets avec différents constructeurs

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

Les constructeurs portent le même nom que la classe et n’ont aucun 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 des constructeurs :

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

Utilisez le chaînage des constructeurs avec this pour éviter la duplication du 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

Entraînez-vous par vous-même : Compilateur C# en ligne