Istruzione Inherits
Fa sì che la classe o l'interfaccia corrente erediti gli attributi, le variabili, le proprietà, le procedure e gli eventi da un'altra classe o un altro 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. Usa le virgole per separare più nomi. |
Osservazioni:
Se utilizzata, l'istruzione Inherits
deve essere la prima riga non vuota e non commento in una definizione di classe o interfaccia. Deve seguire immediatamente l'istruzione Class
o l’istruzione Interface
.
È possibile usare Inherits
solo in una classe o in un'interfaccia. Questo 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 routine o un blocco.
Regole
Ereditarietà delle classi. Se una classe usa l'istruzione
Inherits
, è 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 l'istruzione
Inherits
, è 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 qualifica del nome per specificare il membro che sta implementando.Un'interfaccia non può ereditare da un'altra interfaccia con un livello di accesso più restrittivo. Ad esempio, un'interfaccia
Public
non può ereditare da un'interfacciaFriend
.Un'interfaccia non può ereditare da un'interfaccia annidata al suo interno.
Un esempio di ereditarietà della classe in .NET Framework è la classe ArgumentException, che eredita dalla classe SystemException. In questo modo vengono fornite a ArgumentException tutte le proprietà e le procedure predefinite richieste dalle eccezioni di sistema, ad esempio la proprietà Message e il metodo ToString.
Un esempio di ereditarietà dell'interfaccia in .NET Framework è l'interfaccia ICollection che eredita dall'interfaccia IEnumerable. Questo fa sì che ICollection erediti la definizione dell'enumeratore necessario per attraversare una raccolta.
Esempio 1
Nell'esempio seguente viene utilizzata l'istruzione Inherits
per mostrare come una 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
L'esempio seguente mostra l'ereditarietà di più interfacce.
Public Interface thisInterface
Inherits IComparable, IDisposable, IFormattable
' Add new property, procedure, and event definitions.
End Interface
L'interfaccia denominata thisInterface
ora include tutte e le definizioni nelle interfacce IComparable, IDisposable e IFormattable. I membri ereditati forniscono, rispettivamente per il confronto specifico del tipo di due 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 ciascuna interfaccia di base.