Inherits (Instrucción)

Actualización: noviembre 2007

Hace que la clase o interfaz actual herede los atributos, variables, propiedades, procedimientos y eventos de otra clase o conjunto de interfaces.

Inherits basetypenames

Partes

  • basetypenames
    Obligatorio. Nombre de la clase de la que deriva esta clase.

    O bien

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

Comentarios

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

Sólo puede utilizar Inherits en una clase o una interfaz. Esto significa que el contexto de declaración de una herencia no puede ser un archivo de código fuente, espacio de nombres, estructura, módulo, procedimiento o bloque.

Reglas

  • Herencia de clase. Si una clase utiliza la instrucción Inherits, sólo puede especificar una clase base.

    Una clase no puede heredar de una clase anidada en ella.

  • Herencia de interfaz. Si una interfaz utiliza la instrucción Inherits, puede especificar una o más interfaces base. Puede heredar de dos interfaces incluso si cada una define un miembro con el mismo nombre. Si lo hace así, el código de implementación debe utilizar la calificación del nombre para especificar qué miembro se implementa.

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

    Una interfaz no puede heredar de una interfaz anidada en 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 que necesitan las excepciones de sistema, como la propiedad Message y el método ToString.

Un ejemplo de herencia de interfaces 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

En el ejemplo siguiente se utiliza 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

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

Ahora, la interfaz denominada thisInterface incluye todas las definiciones de las interfaces IComparable, IDisposable y IFormattable. Los miembros heredados proporcionan, respectivamente, la comparación específica de tipos de dos objetos, la liberación de recursos asignados y la expresión del valor de un objeto como un elemento de tipo String. Una clase que implementa thisInterface debe implementar cada miembro de cada interfaz base.

Vea también

Conceptos

Ejemplos de implementación de interfaces en Visual Basic

Referencia

MustInherit

NotInheritable

MyBase

MyClass

Otros recursos

Herencia en Visual Basic