Condividi tramite


Istruzione Inherits

Consente alla classe o interfaccia corrente di ereditare gli attributi, le variabili, i campi, le proprietà, le routine e gli eventi da un'altra classe o interfaccia.

Inherits basetypenames

Parti

Argomento

Definizione

basetypenames

Obbligatoria. Nome della classe dalla quale deriva la classe.

In alternativa

Nomi delle interfacce dalle quali deriva lì'interfaccia. Utilizzare le virgole per separare più nomi.

Note

È necessario che l'istruzione Inherits sia utilizzata nella prima riga non vuota e non riservata a commenti di una definizione di classe o di interfaccia. Inserire tale istruzioni immediatamente dopo l'istruzione Class o Interface.

È possibile utilizzare Inherits solo in una classe o interfaccia. Ciò significa che il contesto della dichiarazione per un'ereditarietà non può essere un file di origine, spazio dei nomi, struttura, modulo, routine o blocco.

Regole

  • Ereditarietà della classe. Se una classe utilizza l'istruzione Inherits è possibile specificare una sola classe di base.

    Una classe non può ereditare da una classe annidata all'interno di essa.

  • Ereditarietà di interfaccia. Se un'interfaccia utilizzata l'istruzione Inherits, è possibile specificare una o più interfacce di base. È possibile ereditare da due interfacce anche se ognuna di esse definisce un membro con lo stesso nome. In questo caso il codice di implementazione deve utilizzare la qualifica per specificare quale membro sta implementando.

    Un'interfaccia non può ereditare da un'altra interfaccia con un livello di accesso più restrittivo. Un'interfaccia Public, ad esempio, non può ereditare da un'interfaccia con accesso Friend.

    Un'interfaccia non può ereditare da un'interfaccia annidata all'interno di essa.

Un esempio di ereditarietà di classe in .NET Framework è la classe ArgumentException, che eredita dalla classe SystemException. Questo fornisce a ArgumentException tutte le proprietà e le routine predefinite richieste da eccezioni del sistema, quali la proprietà Message e il metodo ToString.

Un esempio di ereditarietà di interfaccia in .NET Framework è la classe ICollection, che eredita dall'interfaccia IEnumerable. Con questa operazione ICollection eredita la definizione dell'enumeratore richiesto per scorrere un insieme.

Esempio

Nell'esempio seguente viene utilizzata l'istruzione Inherits per illustrare come una classe denominata thisClass può ereditare tutti i membri di una classe base denominata 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

Nell'esempio riportato di seguito viene illustrata l'ereditarietà di interfacce multiple.

Public Interface thisInterface
    Inherits IComparable, IDisposable, IFormattable
    ' Add new property, procedure, and event definitions.
End Interface

L'interfaccia denominata thisInterface comprende ora tutte le definizioni nelle interfacce IComparable, IDisposable e IFormattable. I membri ereditati forniscono rispettivamente il confronto specifico per tipo di due oggetti, mediante il rilascio delle risorse allocate, e l'espressione del valore di un oggetto come String. Una classe che implementa thisInterface deve implementare ogni membro di ogni interfaccia base.

Vedere anche

Riferimenti

MustInherit (Visual Basic)

NotInheritable (Visual Basic)

Concetti

Nozioni fondamentali sull'ereditarietà (Visual Basic)

Altre risorse

Oggetti e classi in Visual Basic

Interfacce (Visual Basic)