Classe de base – .net

Définition - Que signifie la classe de base - .NET?

Une classe de base, dans le contexte de C #, est une classe utilisée pour créer ou dériver d'autres classes. Les classes dérivées d'une classe de base sont appelées classes enfants, sous-classes ou classes dérivées. Une classe de base n'hérite d'aucune autre classe et est considérée comme parent d'une classe dérivée.

La classe de base constitue le moyen par lequel l'héritage est accompli par dérivation. Une classe dérivée d'une classe de base hérite à la fois des données et du comportement. Par exemple, véhicule peut être une classe de base à partir de laquelle les classes dérivées voiture et bus peuvent être dérivées. La voiture et le bus sont tous deux des véhicules, et ils représentent chacun leurs propres spécialisations de classe de base.

Comme en Java mais contrairement au C ++, C # ne prend pas en charge plusieurs héritages de classes. C # diffère de Java en marquant explicitement un modificateur virtuel pour tous les membres virtuels.

Une classe de base est également appelée classe parent ou superclasse.

Definir Tech explique la classe de base - .NET

La classe de base aide à créer une classe spécialisée qui peut réutiliser le code qui est implicitement obtenu à partir de la classe de base (sauf les constructeurs et les destructeurs) et à étendre les fonctionnalités de la classe de base en ajoutant ou en remplaçant des membres pertinents pour la classe dérivée dans la classe dérivée. En C #, les événements sont déclarés dans la classe de base qui peut être déclenchée à partir de classes dérivées. Les classes génériques qui sont utilisées pour encapsuler des opérations qui ne sont pas spécifiques à un type de données particulier servent de classes de base, fournissant un comportement générique de manière à assurer la flexibilité et la réutilisabilité du code.

La clé les propriétés de la classe de base en C #:

  • Les membres de la classe de base (constructeur, méthode d'instance ou accesseur de propriété d'instance) sont accessibles dans la classe dérivée à l'aide du mot-clé "base".
  • Les classes de base sont automatiquement instanciées avant les classes dérivées.
  • La classe dérivée peut communiquer avec la classe de base pendant l'instanciation en appelant le constructeur de classe de base avec une liste de paramètres correspondante.
  • Les membres de la classe de base sont accessibles à partir de la classe dérivée via un cast explicite.
  • Puisqu'une classe de base elle-même peut être une classe dérivée, une classe peut avoir plusieurs classes de base.
  • Les membres d'une classe dérivée peuvent accéder aux membres internes publics, protégés, internes et protégés d'une classe de base.
  • En raison de la nature transitive de l'héritage, bien qu'une classe dérivée n'ait qu'une seule classe de base, elle hérite des membres déclarés dans le parent de la classe de base.
  • En déclarant une méthode de la classe de base comme virtuelle, la classe dérivée peut remplacer cette méthode avec sa propre implémentation. La méthode et la propriété remplacées et remplacées doivent avoir les mêmes modificateurs de niveau d'accès tels que virtuel, abstrait ou remplacement.
  • Lorsque le mot-clé "abstract" est utilisé pour une méthode, il doit être remplacé dans toute classe non abstraite qui hérite directement de cette classe.
  • Les classes de base abstraites sont créées en utilisant le mot-clé "abstract" dans sa déclaration et sont utilisées pour empêcher l'initiation directe en utilisant le mot-clé "new". Ils ne peuvent être utilisés que via des classes dérivées qui implémentent des méthodes abstraites.
  • Une classe de base peut empêcher d'autres classes d'en hériter en déclarant tous les membres comme «scellés».
  • Les membres de la classe de base peuvent être masqués dans une classe dérivée à l'aide du mot-clé «nouveau» pour indiquer que le membre n'est pas destiné à remplacer le membre de base. Si "new" n'est pas utilisé, le compilateur génère un avertissement.

Bien que la classe de base et l'interface puissent être utilisées de manière interchangeable, les classes sont plus flexibles que les interfaces du point de vue du contrôle de version. La classe de base est préférée dans la plupart des cas, à l'exception des scénarios suivants où:

  • Plusieurs classes non liées forment la base de la classe dérivée
  • Les classes ont déjà établi des classes de base
  • L'agrégation n'est ni appropriée ni pratique

Cette définition a été écrite dans le contexte de C #