Inherits Statement
Oblige la classe ou l’interface actuelle à hériter des attributs, variables, propriétés, procédures et événements d’une autre classe ou d’un autre ensemble d’interfaces.
Syntaxe
Inherits basetypenames
Éléments
Terme | Définition |
---|---|
basetypenames |
Obligatoire. Nom de la classe dont cette classe dérive. -ou- Noms des interfaces dont cette interface dérive. Utilisez des virgules pour séparer plusieurs noms. |
Notes
Si elle est utilisée, l’instruction Inherits
doit être la première ligne non vide et sans commentaires dans une définition de classe ou d’interface. Elle doit suivre immédiatement l’instruction Class
ou Interface
.
Vous pouvez utiliser Inherits
uniquement dans une classe ou une interface. Cela signifie que le contexte de déclaration pour un héritage ne peut pas être un fichier source, un espace de noms, une structure, un module, une procédure ou un bloc.
Règles
Héritage de classe. Si une classe utilise l’instruction
Inherits
, vous ne pouvez spécifier qu’une seule classe de base.Une classe ne peut pas hériter d’une classe imbriquée dans celle-ci.
Héritage d’interface. Si une interface utilise l’instruction
Inherits
, vous pouvez spécifier une ou plusieurs interfaces de base. Vous pouvez hériter de deux interfaces même si chacune définit un membre portant le même nom. Dans ce cas, le code d’implémentation doit utiliser la qualification de nom pour spécifier le membre qu’il implémente.Une interface ne peut pas hériter d’une autre interface avec un niveau d’accès plus restrictif. Par exemple, une interface
Public
ne peut pas hériter d’une interfaceFriend
.Une interface ne peut pas hériter d’une interface imbriquée dans celle-ci.
Un exemple d’héritage de classe dans le .NET Framework est la classe ArgumentException, qui hérite de la classe SystemException. Cela fournit à ArgumentException toutes les propriétés et procédures prédéfinies requises par les exceptions système, telles que la propriété Message et la méthode ToString.
Un exemple d’héritage d’interface dans le .NET Framework est l’interface ICollection, qui hérite de l’interface IEnumerable. Cela entraîne que ICollection hérite de la définition de l’énumérateur requis pour parcourir une collection.
Exemple 1
L’exemple suivant utilise l’instruction Inherits
pour montrer comment une classe nommée thisClass
peut hériter de tous les membres d’une classe de base nommée anotherClass
.
Public Class thisClass
Inherits anotherClass
' Add code to override, overload, or extend members
' inherited from the base class.
' Add new variable, property, procedure, and event declarations.
End Class
Exemple 2
L’exemple suivant montre l’héritage de plusieurs interfaces.
Public Interface thisInterface
Inherits IComparable, IDisposable, IFormattable
' Add new property, procedure, and event definitions.
End Interface
L’interface nommée thisInterface
inclut désormais toutes les définitions dans les interfaces IComparable, IDisposable et IFormattable Les membres hérités fournissent respectivement pour la comparaison spécifique au type de deux objets, la libération des ressources allouées et l’expression de la valeur d’un objet en tant que String
. Une classe qui implémente thisInterface
doit implémenter chaque membre de chaque interface de base.