Différents types de constructeurs en C#

Un constructeur est une méthode spéciale d’une classe qui est automatiquement invoquée chaque fois qu’une instance de classe est créée. Comme les méthodes, un constructeur contient également une suite d’instructions exécutées au moment de la création de l’objet. Il est utilisé pour affecter des valeurs initiales aux données membres de la classe. Voici la liste des constructeurs en C#.

  • Constructeur par défaut
  • Constructeur paramétré
  • Constructeur de copier
  • Constructeur statique
  • Constructeur privé

 
 

Différence entre constructeur et méthode
Constructeur
Méthode
Un constructeur est utilisé pour initialiser un objetUne méthode est utilisée pour exposer le comportement d’un objet
Le constructeur ne doit pas avoir un type de retour.La méthode peut avoir un type de retour.
Un constructeur doit être identique au nom de la classeLe nom de la méthode peut être identique ou non au nom de la classe
Un constructeur est invoqué implicitement.Une méthode est appelée explicitement.

 

Constructeur par défaut

Un constructeur sans aucun paramètre est appelé un constructeur par défaut. Si nous ne créons pas de constructeur, la classe appellera automatiquement le constructeur par défaut créer par le compilateur lorsqu’un objet est créé.
 
Exemple :

using System;
public class Employee {
    public Employee() {
        Console.WriteLine("Constructeur par défaut est appelé");
    }
    public static void Main(string[] args) {
        Employee emp1 = new Employee();
        Employee emp2 = new Employee();
    }
}

La sortie :

Constructeur par défaut est appelé
Constructeur par défaut est appelé

 
 

Constructeur paramétré

Un constructeur avec au moins un paramètre s’appelle un constructeur paramétré.

using System;
public class Employee {
    public String name;
    public float salary;

    public Employee(String n, float s) {
        name = n;
        salary = s;
    }

    public void show() {
        Console.WriteLine(name + " " + salary);
    }
}
public class WayToLearnX {
    public static void Main(string[] args) {
        Employee emp1 = new Employee("Thomas", 100000);
        Employee emp2 = new Employee("Alex", 302500);
        emp1.show();
        emp2.show();
    }
}

La sortie :

Thomas 100000
Alex 302500

 

Constructeur de copie

Le constructeur qui crée un objet en copiant les variables d’un autre objet s’appelle un constructeur de copie.

using System;
public class Employee {
    public String name;
    public float salary;

    // Constructeur paramétré. 
    public Employee(String n, float s) {
        name = n;
        salary = s;
    }

    // Constructeur de copie.  
    public Employee(Employee emp) {
        name = emp.name;
        salary = emp.salary;
    }

    public void show() {
        Console.WriteLine(name + " " + salary);
    }
}
public class WayToLearnX {
    public static void Main(string[] args) {
        Employee emp1 = new Employee("Thomas", 100000);
        Employee emp2 = new Employee(emp1);
        emp1.show();
        emp2.show();
    }
}

La sortie :

Thomas 100000
Thomas 100000
Les collections en C#Les collections en C#Les collections sont des classes spécialisées pour le stockage et la récupération de données. Ces classes prennent en charge les piles, les files, les listes…Lire plus  

Constructeur statique

Un constructeur statique est utilisé pour initialiser des données statiques.

using System;
public class Employee {
    public String name;
    public float salary;
    public static int count;

    // Constructeur par défaut. 
    public Employee(String n, float s) {
        name = n;
        salary = s;
    }

    // Constructeur statique.  
    static Employee() {
        count = 10;
    }

    public void show() {
        Console.WriteLine(name + " " + salary + " " + count);
    }
}
public class WayToLearnX {
    public static void Main(string[] args) {
        Employee emp1 = new Employee("Thomas", 100000);
        Employee emp2 = new Employee("Alex", 256974);
        emp1.show();
        emp2.show();
    }
}

La sortie :

Thomas 100000 10
Alex 256974 10
Héritage multiple en C#Héritage multiple en C#Dans l’héritage multiple, une classe peut avoir plusieurs superclasses et hériter des fonctions de toutes ses classes parentes. Comme indiqué dans la figure ci-dessous, la…Lire plus
Constructeur privé

Un constructeur privé est un constructeur généralement utilisé dans les classes contenant uniquement des membres statiques. Si une classe a un ou plusieurs constructeurs privés et aucun constructeur public, les autres classes (à l’exception des classes imbriquées) ne peuvent pas créer des instances de cette classe. L’utilisation de constructeur privé est de servir des classes singleton. Une classe singleton est une classe qui limite le nombre d’objets créés à un. En utilisant un constructeur privé, pour assurer de ne pas avoir plus d’un objet créé à la fois.

using System;
public class Employee {
    public String name;
    public float salary;

    // Constructeur privé.  
    private Employee() {

    }
}
public class WayToLearnX {
    public static void Main(string[] args) {
        // La ligne suivante génère une erreur car le constructeur est inaccessible 
        Employee emp = new Employee();
    }
}

La sortie :

Compilation error (line 14, col 24): 'Employee.Employee()' is inaccessible due to its protection level
Programmation orientée objet en C#Programmation orientée objet en C#La programmation orientée objet (POO) est le composant principal du framework .NET. La programmation orientée objet est tellement importante avant de se lancer dans .NET,…Lire plus qcm-csharpQCM C# – Framework .NET – Partie 1QCM sur C# avec des réponses pour la préparation des entretiens d’embauche, des tests en ligne, aux examens et aux certifications. Ces questions et réponses…Lire plus
Partagez cet article

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *