Compartir a través de


Hereda la instrucción

Hace que la clase o interfaz actual hereden 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 deriva esta clase.

-o-

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

Observaciones

Si se usa, la Inherits instrucción debe ser la primera línea no vacía y sin comentario en una definición de clase o interfaz. Debe seguir inmediatamente la Class instrucción o Interface .

Solo puede usar Inherits en una clase o interfaz. Esto significa que el contexto de declaración de una herencia no puede ser un archivo de origen, un espacio de nombres, una estructura, un módulo, un procedimiento o un bloque.

Reglas

  • Herencia de clases. Si una clase usa la Inherits instrucció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 Inherits instrucción , puede especificar una o varias interfaces base. Puede heredar de dos interfaces aunque cada una de ellas defina 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 Public interfaz no puede heredar de una Friend interfaz.

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

Un ejemplo de herencia de clases en .NET Framework es la ArgumentException clase , que hereda de la SystemException clase . Esto proporciona todas ArgumentException las propiedades y procedimientos predefinidos que requieren las excepciones del sistema, como la Message propiedad y el ToString método .

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

Ejemplo 1

En el ejemplo siguiente se usa la Inherits instrucción 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 IComparableinterfaces , IDisposabley IFormattable Los miembros heredados 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