C # Héritage: invoquer le constructeur de la classe de base
En héritage C #, vous devez souvent initialiser les propriétés et les champs de la classe de base avant d'ajouter l'initialisation spécifique de votre classe dérivée. Ceci est réalisé en appelant le constructeur de la classe de base dans le constructeur de la classe dérivée.
La syntaxe pour appeler le constructeur de classe de base est simple:
<code class="language-csharp">public <DerivedClass>(<arguments>) : base(<arguments>) { // Derived class-specific initialization }</code>
La partie : base(<arguments>)
appelle explicitement le constructeur de classe de base, passant tous les arguments nécessaires. Le constructeur de classe dérivé s'exécute ensuite une fois le constructeur de base terminé.
Exemple illustratif:
Disons que nous avons une classe Exception
(une classe C # intégrée). Pour créer une exception personnalisée, nous héritons de Exception
et transmettons un message au constructeur de base:
<code class="language-csharp">public class CustomException : Exception { public CustomException(string message, string detail) : base(message) { // Store additional detail (this is specific to our derived class) Detail = detail; } public string Detail { get; set; } }</code>
Ici, base(message)
appelle le constructeur de la classe Exception
, fournissant le message d'erreur. La classe dérivée ajoute alors sa propre propriété Detail
.
Considération importante:
Vous ne pouvez pas appeler directement un constructeur de classe de base à partir d'une méthode; Il doit être fait dans le constructeur de la classe dérivée à l'aide de la syntaxe : base(...)
. Cela garantit un ordre d'initialisation approprié.
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!