Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Langue C

Maîtriser la surcharge de constructeurs en C#

Maîtriser la surcharge de constructeurs en C#

Découvrez comment concevoir des classes flexibles en C# en surchargeant les constructeurs — en variant le nombre, les types et l'ordre des paramètres — avec des exemples pratiques.

La surcharge de constructeurs en C# reflète la surcharge de méthodes : une classe peut déclarer plusieurs constructeurs qui partagent le même nom mais diffèrent par leur signature. Le compilateur sélectionne le constructeur approprié en fonction des arguments fournis lors de l'instanciation d'un objet.

Avant de plonger dans la surcharge, assurez-vous de comprendre les constructeurs C# de base.


1. Variation du nombre de paramètres

Vous pouvez surcharger un constructeur en fournissant différents nombres d'arguments.

class Voiture {
    // Constructeur sans paramètre
    Voiture() { ... }
    // Constructeur à un paramètre
    Voiture(string marque) { ... }
    // Constructeur à deux paramètres
    Voiture(string marque, int prix) { ... }
}

Dans cette classe Voiture, les trois constructeurs coexistent car chaque signature est distincte. Le compilateur choisit le constructeur correspondant à l'exécution selon le nombre d'arguments.

Exemple : Surcharge par nombre de paramètres

using System;
namespace SurchargeConstructeur {
    class Voiture {
        // Constructeur sans paramètre
        Voiture() {
            Console.WriteLine("Constructeur Voiture");
        }
        // Constructeur à un paramètre
        Voiture(string marque) {
            Console.WriteLine("Constructeur Voiture avec un paramètre");
            Console.WriteLine("Marque : " + marque);
        }
        static void Main(string[] args) {
            // Appelle le constructeur sans paramètre
            Voiture voiture = new Voiture();
            Console.WriteLine();
            // Appelle le constructeur à un paramètre
            Voiture voiture2 = new Voiture("Bugatti");
            Console.ReadLine();
        }
    }
}

Sortie

Constructeur Voiture
Constructeur Voiture avec un paramètre
Marque : Bugatti

Le compilateur invoque le constructeur approprié en fonction des arguments fournis.


2. Types de paramètres différents

Les constructeurs peuvent aussi être surchargés quand ils acceptent le même nombre de paramètres mais de types différents.

class Voiture {
    Voiture(string marque) { ... }
    Voiture(int prix) { ... }
}

Ici, les deux constructeurs acceptent un seul argument, mais les types — string versus int — les différencient.

Exemple : Surcharge par type de paramètre

using System;
namespace SurchargeConstructeur {
    class Voiture {
        // Constructeur avec une string
        Voiture(string marque) {
            Console.WriteLine("Marque : " + marque);
        }
        // Constructeur avec un int
        Voiture(int prix) {
            Console.WriteLine("Prix : " + prix);
        }
        static void Main(string[] args) {
            Voiture voiture = new Voiture("Lamborghini");
            Console.WriteLine();
            Voiture voiture2 = new Voiture(50000);
            Console.ReadLine();
        }
    }
}

Sortie

Marque : Lamborghini
Prix : 50000

3. Changement de l'ordre des paramètres

Quand les constructeurs ont le même nombre et types de paramètres, vous pouvez encore surcharger en réorganisant leur ordre.

class Voiture {
    Voiture(string marque, int prix) { ... }
    Voiture(int vitesse, string couleur) { ... }
}

Les signatures diffèrent car la séquence des types est distincte.

Exemple : Surcharge par ordre des paramètres

using System;
namespace SurchargeConstructeur {
    class Voiture {
        // String d'abord, puis int
        Voiture(string marque, int prix) {
            Console.WriteLine("Marque : " + marque);
            Console.WriteLine("Prix : " + prix);
        }
        // Int d'abord, puis string
        Voiture(int vitesse, string couleur) {
            Console.WriteLine("Vitesse : " + vitesse + " km/h");
            Console.WriteLine("Couleur : " + couleur);
        }
        static void Main(string[] args) {
            Voiture voiture = new Voiture("Bugatti", 50000);
            Console.WriteLine();
            Voiture voiture2 = new Voiture(60, "Rouge");
            Console.ReadLine();
        }
    }
}

Sortie

Marque : Bugatti
Prix : 50000
Vitesse : 60 km/h
Couleur : Rouge

Langue C

  1. Constructeurs C# : Types, exemples et patterns avancés
  2. Comprendre les classes imbriquées C# : Définition, utilisation et héritage
  3. Maîtriser la surcharge de méthodes en C# : Concepts, exemples et bonnes pratiques
  4. Maîtriser la surcharge d'opérateurs en Python : guide pratique
  5. Maîtriser les constructeurs Java : Types, utilisation et exemples pratiques
  6. Constructeurs d'enum Java expliqués avec exemple pratique
  7. Comprendre le Liquide de Refroidissement Moteur : Rôle, Types et Entretien
  8. Surcharge d'opérateurs en C++ : Guide pratique avec exemples de code
  9. Surcharge de Constructeur en Java – Expliqué avec Exemples de Code Pratiques