Maison  >  Article  >  développement back-end  >  Héritage en C#

Héritage en C#

王林
王林original
2024-09-03 15:18:44985parcourir

L'héritage en C# est le processus d'acquisition de toutes les propriétés d'une classe dans une autre classe. Il existe deux classes appelées classe de base et classe dérivée. La classe de base est également connue sous le nom de classe parent, et nous souhaitons hériter des propriétés ou méthodes de cette classe à une autre classe.

La classe dérivée est connue sous le nom de classe enfant utilisée pour hériter des propriétés et des méthodes de la classe de base ou de la classe parent. Cela permet de réutiliser le même code à nouveau, et il n'est pas nécessaire de définir les mêmes propriétés encore et encore.

L'héritage est l'un des concepts puissants ou des attributs fondamentaux du langage de programmation orienté objet. Il est largement utilisé dans tous les langages de programmation basés sur la POO. Son objectif principal est de réutiliser le même code. L'exemple de la structure de base de l'héritage est donné ci-dessous :

class BaseClass { }
class ChildClass: BaseClass {}

Types d'héritage en C#

Il existe différents types d'héritage en C# :

1. Héritage à un seul niveau

Dans l'héritage unique, il n'y a qu'une seule classe de base et une seule classe dérivée. Cela signifie que la classe enfant héritera des propriétés de la classe parent et les utilisera.

Exemple :

class BaseClass
{
public void hello()
{
Console.WriteLine("Parent's Hello Method");
}
}
class ChildClass : BaseClass
{
public void World()
{
Console.WriteLine("Child's World Method");
}
}

2. Héritage multiniveau

Dans ce type d'héritage, il n'y a qu'une seule classe de base et plusieurs classes dérivées sont disponibles. Si une classe est créée à l’aide d’une autre classe dérivée, on parle d’héritage multiniveau.

Exemple : 

class BaseClass
{
public void hello()
{
Console.WriteLine("Parent's Hello Method");
}
}
class ChildClass : BaseClass
{
public void World()
{
Console.WriteLine("Child's World Method");
}
}
class SecondChildClass : ChildClass
{
public void Hi()
{
}
}

3. Héritage multiple

Dans ce type d'héritage, cela peut être réalisé à l'aide de plusieurs interfaces, pas avec une classe. En termes simples, C# ne prend pas en charge les héritages multiples, mais si vous souhaitez y parvenir, cela peut être réalisé uniquement à l'aide d'interfaces.

Exemple :

Interface A {}
Interface B {}
Class C: A, B {}

4. Héritage hiérarchique

Dans ce type d'héritage, il existe une classe parent, et les autres classes dérivées héritent de la même classe parent pour réaliser cet héritage.

Exemple :

class BaseClass
{
public void hello()
{
Console.WriteLine("Parent's Hello Method");
}
}
class ChildClass : BaseClass
{
public void World()
{
Console.WriteLine("Child's World Method");
}
}
class SecondChildClass : BaseClass
{
public void Hi()
{
}
}

Avantages de l'héritage en C#

Vous trouverez ci-dessous les avantages de l'héritage.

  • Cela aide à utiliser à nouveau le même code, ce qui signifie la réutilisabilité du code.
  • Cela réduit la redondance du code.
  • Cela aide à lire le code plus confortablement.
  • Cela réduit également la taille du code source et du fichier.
  • Cela aide à fournir l'extensibilité du code.
  • Le code est facile à gérer car il est divisé en classes de la classe de base et de la classe enfant.
  • Les membres privés ne sont pas accessibles dans la classe dérivée lorsque les membres de la classe de base sont hérités par la classe dérivée.
  • Il ne prend pas en charge les héritages multiples mais peut être réalisé via des interfaces.
  • Cela aide à réaliser le polymorphisme qui permet à un objet de représenter plus d'un type.
  • Cela aide à diviser le gros code en petits morceaux.

Caractéristiques de l'héritage

Voici les caractéristiques de l'héritage décrites.

  • L'héritage peut être utilisé pour empêcher l'instanciation directe de la classe, et pour y parvenir, le mot-clé abstract a été utilisé.
  • Les membres de la classe de base sont accessibles dans la classe dérivée, à l'exception des membres de clé privée.
  • Les membres de la classe de base peuvent être hérités dans la classe dérivée, à l'exception également du constructeur et du destructeur.
  • En C#, les méthodes virtuelles d'une classe de base doivent utiliser un mot-clé override dans la classe dérivée.
  • En C#, pour empêcher l'héritage de la classe qui peut être déclarée avec le mot clé seal.
  • Si les membres hérités doivent être masqués avec le même nom et la même signature dans la classe dérivée, alors cette méthode doit être définie avec le nouveau mot-clé.

Pourquoi utiliser l'héritage et comment cela facilite-t-il le travail ?

L'héritage est utilisé lorsque le même code doit être utilisé dans une autre classe. Ainsi, au lieu d'écrire le même code encore et encore, il existe un concept de programmation orientée objet qu'est l'héritage qui permet d'utiliser les mêmes fonctionnalités telles que les méthodes ou les propriétés d'une classe dans une autre classe. À l'aide du point-virgule (:), nous pouvons hériter des membres de la classe de base vers une classe enfant ou une classe dérivée.

Cela facilite le travail car cela aide à éviter la confusion entre l'appel de méthode et la méthode de classe à partir de laquelle elle est appelée. Cela rend le code réutilisable et allège le fichier avec moins de lignes de code source. Cela rend le code moins redondant et plus flexible à utiliser dans différentes classes. Il conserve la structure du programme qui facilite la lecture du code.

Conclusion

  • L'héritage est le concept de programmation orientée objet le plus largement utilisé dans tous les langages basés sur la POO et ainsi qu'en C#. Cela aide le développeur à réaliser beaucoup de choses et rend le code plus fluide et lisible.
  • Le polymorphisme est l'autre concept oups qui peut être réalisé avec l'aide de l'héritage uniquement. La plupart des problèmes ont été résolus grâce à ces deux concepts allant de pair.
  • Dans l'héritage, la classe de base et la classe dérivée sont étroitement couplées comme s'il y avait un changement dans la classe de base ; puis automatiquement, toute la classe enfant sera affectée. L'héritage doit être utilisé très soigneusement, car si les données membres ne sont pas correctement utilisées et que la mémoire leur est allouée, cela affecte les performances de l'application.
  • Il existe différents niveaux d'héritage utilisés dans la programmation ou le développement d'une application. Il peut être implémenté dans n’importe quel type d’application, comme des applications Web ou de bureau. Cela dépend du développeur comment et où utiliser l'héritage, car il offre beaucoup de flexibilité, de fonctionnalités et aide à réaliser les choses.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Verrouiller en C#Article suivant:Verrouiller en C#