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.

Aide-mémoire

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

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.

Constructeur par défaut sans paramètres :

public class Book
{
    public string Title { get; set; }
    
    public Book()
    {
        Title = "Unknown";
    }
}

Constructeur paramétré :

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

Surcharge de constructeur - plusieurs constructeurs avec des paramètres différents :

public class Book
{
    public string Title { get; set; }
    public int Pages { get; set; }
    
    public Book(string title)
    {
        Title = title;
        Pages = 0;
    }
    
    public Book(string title, int pages)
    {
        Title = title;
        Pages = pages;
    }
}

Chaînage de constructeurs avec this pour éviter la duplication de code :

public class Book
{
    public string Title { get; set; }
    public int Pages { get; set; }
    
    public Book(string title, int pages)
    {
        Title = title;
        Pages = pages;
    }
    
    public Book(string title) : this(title, 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);

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