Inherits Statement

Permite 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. El nombre de la clase o la interfaz de la que se deriva esta clase.

O bien

Los nombres de las interfaces de las que deriva esta interfaz. Use comas para separar varios nombres.

Comentarios

Si se usa, una instrucción Inherits debe ser la primera línea no vacía sin comentarios en una definición de interfaz o clase. Debe ir inmediatamente detrás de la instrucción Class o Interface.

Solo se puede usar Inherits en una clase o interfaz. Esto significa que el contexto de la 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 ni un bloque.

Reglas

  • Herencia de clase. Si una clase usa la instrucción Inherits, solo se 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 instrucción Inherits, se puede especificar una o varias interfaces base. Se puede heredar de dos interfaces aunque definan un miembro con el mismo nombre. Si se hace, el código de implementación debe usar la calificación de nombre para especificar qué miembro se está implementando.

    Una interfaz no puede heredar de otra interfaz con un nivel de acceso más restrictivo. Por ejemplo, una interfaz Public no puede heredar de una interfaz Friend.

    Una interfaz no puede heredar de una interfaz anidada dentro de ella.

Un ejemplo de herencia de clases en .NET Framework es la clase ArgumentException, 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 Message y el método ToString.

Un ejemplo de herencia de interfaz en .NET Framework es la interfaz ICollection, que hereda de la interfaz IEnumerable. Esto hace que ICollection herede la definición del enumerador necesario para recorrer una colección.

Ejemplo 1

En el ejemplo siguiente se usa la instrucción Inherits para mostrar cómo una clase denominada thisClass puede heredar todos los miembros de una clase base denominada 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 thisInterface ahora incluye todas las definiciones de las interfaces IComparable, IDisposable y IFormattable. Los miembros heredados se proporcionan respectivamente para la comparación específica del tipo de dos objetos, la liberación de recursos asignados y la expresión del valor de un objeto como String. Una clase que implementa thisInterface debe implementar todos los miembros de cada interfaz base.

Consulte también