Inherits Statement

Fa in modo che la classe o l'interfaccia corrente erediti gli attributi, le variabili, le proprietà, le routine e gli eventi da un'altra classe o set di interfacce.

Sintassi

Inherits basetypenames  

Parti

Termine Definizione
basetypenames Obbligatorio. Nome della classe da cui deriva questa classe.

-oppure-

Nomi delle interfacce da cui deriva questa interfaccia. Usare le virgole per separare più nomi.

Commenti

Se utilizzata, l'istruzione deve essere la prima riga non vuota e non di commento in una definizione di classe Inherits o interfaccia. Deve seguire immediatamente Class l'istruzione Interface o .

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

Regole

  • Ereditarietà delle classi. Se una classe usa Inherits l'istruzione , è possibile specificare una sola classe di base.

    Una classe non può ereditare da una classe annidata al suo interno.

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

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

    Un'interfaccia non può ereditare da un'interfaccia annidata al suo interno.

Un esempio di ereditarietà della classe .NET Framework è ArgumentException la classe , che eredita dalla classe SystemException . In questo modo ArgumentException vengono fornite a tutte le proprietà e le routine predefinite richieste dalle eccezioni di sistema, ad esempio Message la proprietà e il metodo ToString .

Un esempio di ereditarietà dell'.NET Framework è ICollection l'interfaccia , che eredita dall'interfaccia IEnumerable . In questo ICollection modo eredita la definizione dell'enumeratore necessario per attraversare una raccolta.

Esempio 1

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

Esempio 2

Nell'esempio seguente viene illustrata l'ereditarietà di più interfacce.

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

L'interfaccia denominata include ora tutte le definizioni nelle interfacce , e . I membri ereditati forniscono rispettivamente per il confronto specifico del tipo di due thisInterface IComparable IDisposable IFormattable oggetti, 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 di base.

Vedi anche