Classes Dérivées
Lorsqu'une classe est dite dérivée d'une autre classe, cela signifie qu'elle possède tous les champs et méthodes de la classe parente et, en plus, la classe dérivée peut également contenir des champs et méthodes supplémentaires.

Une classe dérivée (également appelée classe enfant) est une classe qui hérite des propriétés d'une autre classe, tandis qu'à l'inverse, une classe de base (également appelée classe parente) est une classe dont une autre classe hérite.
La syntaxe pour créer une classe héritée est la suivante :
index.cs
1234567891011// Base class (parent class) public class BaseClass { // Fields and methods of the base class } // Derived class (child class) public class DerivedClass : BaseClass { // Additional fields and methods specific to the derived class }
Voici un exemple avec du code concret :
index.cs
12345678910111213141516171819202122232425262728293031323334353637using System; // Base class (parent class) public class Animal { public string Name; public void Eat() { Console.WriteLine($"{Name} is eating."); } } // Derived class (child class) public class Dog : Animal { public void Bark() { Console.WriteLine($"{Name} is barking."); } } class ConsoleApp { static void Main() { // Creating an instance of the derived class Dog myDog = new Dog(); myDog.Name = "Buddy"; // Using inherited method from the base class myDog.Eat(); // Using method specific to the derived class myDog.Bark(); } }
Dans cet exemple, Dog
est la classe dérivée, héritant de la classe de base Animal
. La classe Dog
a accès à la propriété Name
et à la méthode Eat
de la classe Animal
. De plus, elle introduit une nouvelle méthode, Bark
, qui est spécifique à la classe Dog
.
Comme illustré dans le schéma, il peut exister des cas où une classe hérite d'une classe qui est déjà elle-même issue d'une autre classe :
index.cs
123456789101112131415161718192021222324252627282930313233343536373839404142434445using System; // Base class public class Animal { public void Eat() { Console.WriteLine("Animal is eating."); } } // Intermediate class inheriting from Animal public class Mammal : Animal { public void GiveBirth() { Console.WriteLine("Mammal is giving birth."); } } // Derived class inheriting from Mammal public class Dog : Mammal { public void Bark() { Console.WriteLine("Dog is barking."); } } class Program { static void Main() { Dog myDog = new Dog(); // Methods from the base class myDog.Eat(); // Methods from the intermediate class myDog.GiveBirth(); // Methods from the derived class myDog.Bark(); } }
Dans ce cas, la classe au niveau le plus élevé est appelée la Super Classe. Ici, Animal
est la super classe. Un tel cas où il existe plusieurs niveaux d'héritage est appelé Héritage Multi-niveaux.
Dans certains langages, il est possible pour une classe d'hériter de plusieurs classes de base, un tel héritage est appelé Héritage Multiple. En C#, une classe ne peut avoir qu'une seule classe parente, donc l'héritage multiple n'est pas possible en C#.
1. En C#, quel mot-clé ou symbole est utilisé pour déclarer une classe dérivée ?
2. Dans l'héritage multi-niveaux, comment s'appelle la classe située au sommet ?
3. L'héritage multi-niveaux est-il possible en C# ?
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Awesome!
Completion rate improved to 2.04
Classes Dérivées
Glissez pour afficher le menu
Lorsqu'une classe est dite dérivée d'une autre classe, cela signifie qu'elle possède tous les champs et méthodes de la classe parente et, en plus, la classe dérivée peut également contenir des champs et méthodes supplémentaires.

Une classe dérivée (également appelée classe enfant) est une classe qui hérite des propriétés d'une autre classe, tandis qu'à l'inverse, une classe de base (également appelée classe parente) est une classe dont une autre classe hérite.
La syntaxe pour créer une classe héritée est la suivante :
index.cs
1234567891011// Base class (parent class) public class BaseClass { // Fields and methods of the base class } // Derived class (child class) public class DerivedClass : BaseClass { // Additional fields and methods specific to the derived class }
Voici un exemple avec du code concret :
index.cs
12345678910111213141516171819202122232425262728293031323334353637using System; // Base class (parent class) public class Animal { public string Name; public void Eat() { Console.WriteLine($"{Name} is eating."); } } // Derived class (child class) public class Dog : Animal { public void Bark() { Console.WriteLine($"{Name} is barking."); } } class ConsoleApp { static void Main() { // Creating an instance of the derived class Dog myDog = new Dog(); myDog.Name = "Buddy"; // Using inherited method from the base class myDog.Eat(); // Using method specific to the derived class myDog.Bark(); } }
Dans cet exemple, Dog
est la classe dérivée, héritant de la classe de base Animal
. La classe Dog
a accès à la propriété Name
et à la méthode Eat
de la classe Animal
. De plus, elle introduit une nouvelle méthode, Bark
, qui est spécifique à la classe Dog
.
Comme illustré dans le schéma, il peut exister des cas où une classe hérite d'une classe qui est déjà elle-même issue d'une autre classe :
index.cs
123456789101112131415161718192021222324252627282930313233343536373839404142434445using System; // Base class public class Animal { public void Eat() { Console.WriteLine("Animal is eating."); } } // Intermediate class inheriting from Animal public class Mammal : Animal { public void GiveBirth() { Console.WriteLine("Mammal is giving birth."); } } // Derived class inheriting from Mammal public class Dog : Mammal { public void Bark() { Console.WriteLine("Dog is barking."); } } class Program { static void Main() { Dog myDog = new Dog(); // Methods from the base class myDog.Eat(); // Methods from the intermediate class myDog.GiveBirth(); // Methods from the derived class myDog.Bark(); } }
Dans ce cas, la classe au niveau le plus élevé est appelée la Super Classe. Ici, Animal
est la super classe. Un tel cas où il existe plusieurs niveaux d'héritage est appelé Héritage Multi-niveaux.
Dans certains langages, il est possible pour une classe d'hériter de plusieurs classes de base, un tel héritage est appelé Héritage Multiple. En C#, une classe ne peut avoir qu'une seule classe parente, donc l'héritage multiple n'est pas possible en C#.
1. En C#, quel mot-clé ou symbole est utilisé pour déclarer une classe dérivée ?
2. Dans l'héritage multi-niveaux, comment s'appelle la classe située au sommet ?
3. L'héritage multi-niveaux est-il possible en C# ?
Merci pour vos commentaires !