Inherits Statement
Hace que la clase o interfaz actual herede los atributos, variables, propiedades, procedimientos y eventos de otra clase o conjunto de interfaces.
Sintaxis
Inherits basetypenames
Partes
| Término | Definición |
|---|---|
basetypenames |
Obligatorio. Nombre de la clase de la que se deriva esta clase. O bien Nombres de las interfaces de las que deriva esta interfaz. Use comas para separar varios nombres. |
Comentarios
Si se usa, la instrucción debe ser la primera línea no vacía que no sea Inherits de comentario en una definición de clase o interfaz. Debe seguir inmediatamente la Class instrucción Interface o .
Solo se puede Inherits usar en una clase o interfaz. Esto significa que el contexto de declaración de una herencia no puede ser un archivo de código fuente, un espacio de nombres, una estructura, un módulo, un procedimiento o un bloque.
Reglas
Herencia de clases. Si una clase usa la
Inheritsinstrucción , solo puede especificar una clase base.Una clase no puede heredar de una clase anidada dentro de ella.
Herencia de interfaz. Si una interfaz usa la
Inheritsinstrucción , puede especificar una o varias interfaces base. Puede heredar de dos interfaces incluso si cada una define un miembro con el mismo nombre. Si lo hace, el código de implementación debe usar la calificación de nombre para especificar qué miembro está implementando.Una interfaz no puede heredar de otra interfaz con un nivel de acceso más restrictivo. Por ejemplo, una
Publicinterfaz no puede heredar de unaFriendinterfaz.Una interfaz no puede heredar de una interfaz anidada dentro de ella.
Un ejemplo de herencia de clases en el .NET Framework es ArgumentException la clase , que hereda de la clase SystemException . Esto proporciona a ArgumentException todas las propiedades y procedimientos predefinidos requeridos por las excepciones del sistema, como la propiedad y el método Message ToString .
Un ejemplo de herencia de interfaz en el .NET Framework es la ICollection interfaz , que hereda de la interfaz IEnumerable . Esto hace ICollection que herede la definición del enumerador necesario para recorrer una colección.
Ejemplo 1
En el ejemplo siguiente se usa la instrucción para mostrar cómo una clase denominada puede heredar todos Inherits los miembros de una clase base denominada thisClass 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
Ejemplo 2
En el ejemplo siguiente se muestra la herencia de varias interfaces.
Public Interface thisInterface
Inherits IComparable, IDisposable, IFormattable
' Add new property, procedure, and event definitions.
End Interface
La interfaz denominada ahora incluye todas las definiciones de las interfaces , y Los miembros heredados proporcionan respectivamente para la comparación específica del tipo de dos objetos, liberando recursos thisInterface IComparable IDisposable IFormattable asignados y expresando el valor de un objeto como String . Una clase que implementa debe thisInterface implementar todos los miembros de cada interfaz base.