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 l'Héritage et le Polymorphisme en C# : Exemples de Code Pratiques

Qu'est-ce que l'Héritage en C# ?

L'héritage est une pierre angulaire de la conception orientée objet en C#. Il permet à une classe enfant de recevoir automatiquement les champs et méthodes d'une classe parente, tout en permettant à l'enfant de redéfinir ou d'étendre ce comportement. Cela favorise la réutilisation du code, simplifie la maintenance et établit une hiérarchie claire.

Exemple d'Héritage en C#

Ci-dessous, une démonstration étape par étape montrant comment implémenter l'héritage et utiliser des membres protégés.

Étape 1 – Modifier la Classe de Base

Ouvrez Tutoriel.cs et modifiez la classe Tutoriel pour que ses champs clés soient protected :

Maîtriser l Héritage et le Polymorphisme en C# : Exemples de Code Pratiques

L'utilisation de protected garantit que seules les classes dérivées peuvent accéder directement à ces champs.

Étape 2 – Créer une Classe Dérivée

Ajoutez le code suivant à Tutoriel.cs après la définition de la classe de base :

Maîtriser l Héritage et le Polymorphisme en C# : Exemples de Code Pratiques

Explication :

  1. Déclarer Guru99Tutoriel comme enfant de Tutoriel en utilisant la syntaxe deux-points (:).
  2. Ajouter une méthode RenommerTutoriel qui assigne une nouvelle valeur à TutorialName.
  3. Puisque TutorialName est protected, Guru99Tutoriel peut y accéder même s'il n'est pas explicitement déclaré là.

Étape 3 – Utiliser la Classe Dérivée dans Program.cs

Remplacez le contenu de Program.cs par le suivant :

Maîtriser l Héritage et le Polymorphisme en C# : Exemples de Code Pratiques

using System;
namespace DemoApplication {
    public class Tutoriel {
        protected int TutorialID;
        protected string TutorialName;
        public void SetTutorial(int pID, string pName) {
            TutorialID = pID;
            TutorialName = pName;
        }
        public string GetTutorial() {
            return TutorialName;
        }
    }
    public class Guru99Tutoriel : Tutoriel {
        public void RenommerTutoriel(string pNewName) {
            TutorialName = pNewName;
        }
        static void Main(string[] args) {
            Guru99Tutoriel pTutor = new Guru99Tutoriel();
            pTutor.RenommerTutoriel(".Net par Guru99");
            Console.WriteLine(pTutor.GetTutorial());
            Console.ReadKey();
        }
    }
}

Explication :

  1. Le programme instancie Guru99Tutoriel, pas la classe de base Tutoriel.
  2. Il appelle RenommerTutoriel pour changer le titre.
  3. Même si GetTutorial est défini dans la classe de base, l'instance dérivée peut l'invoquer directement.

L'exécution de ce code affiche :

Maîtriser l Héritage et le Polymorphisme en C# : Exemples de Code Pratiques

Qu'est-ce que le Polymorphisme en C# ?

Le polymorphisme permet à une seule interface de représenter différentes formes sous-jacentes. En C#, cela se manifeste souvent par la surcharge ou la redéfinition de méthodes, permettant au même nom de méthode d'effectuer des tâches variées selon les paramètres ou le contexte.

Exemple de Polymorphisme en C#

Nous démontrerons la surcharge de méthode au sein de la même classe.

Étape 1 – Mettre à Jour la Classe de Base

Modifiez Tutoriel.cs comme indiqué :

Maîtriser l Héritage et le Polymorphisme en C# : Exemples de Code Pratiques

Changements clés :

  1. La méthode SetTutorial a maintenant deux surcharges – une qui accepte un int et un string, et une autre qui accepte seulement un string.
  2. Les deux surcharges assignent des valeurs aux champs correspondants.

Étape 2 – Tester dans Program.cs

Remplacez Program.cs par le code suivant :

using System;
namespace DemoApplication {
    class Tutoriel {
        public int TutorialID;
        public string TutorialName;
        public void SetTutorial(int pID, string pName) {
            TutorialID = pID;
            TutorialName = pName;
        }
        public void SetTutorial(string pName) {
            TutorialName = pName;
        }
        public string GetTutorial() {
            return TutorialName;
        }
        static void Main(string[] args) {
            Tutoriel pTutor = new Tutoriel();
            pTutor.SetTutorial(1, "Premier Tutoriel");
            Console.WriteLine(pTutor.GetTutorial());
            pTutor.SetTutorial("Second Tutoriel");
            Console.WriteLine(pTutor.GetTutorial());
            Console.ReadKey();
        }
    }
}

Explication :

  1. Le premier appel passe à la fois id et name à la surcharge à deux paramètres.
  2. Le second appel passe seulement name, invoquant la surcharge à un paramètre.

La console affiche :

Maîtriser l Héritage et le Polymorphisme en C# : Exemples de Code Pratiques

Pour des scénarios avancés, vous pouvez ajouter une méthode GetTutorialID pour récupérer l'ID séparément.

Résumé

Langue C

  1. Expressions, instructions et blocs C# : Guide complet avec exemples pratiques
  2. Classes et objets C# : Fondations pour une POO robuste
  3. Maîtriser les classes et méthodes abstraites C# : Guide pratique
  4. Comprendre les classes et méthodes partielles C#
  5. Maîtriser les classes et méthodes sealed en C# : Quand les utiliser, exemples clairs et sécurité du code
  6. Les Fonctions en C++ Expliquées avec des Exemples de Code Pratiques
  7. Struct vs Class en C++ : Différences Clés, Syntaxe et Cas d'Utilisation Optimaux
  8. Boucles While vs Do-While : Comparaison claire avec exemples pratiques
  9. Comprendre type() et isinstance() en Python : exemples pratiques