現在のクラスまたはインターフェイスが、別のクラスまたはインターフェイスのセットから属性、変数、プロパティ、プロシージャ、およびイベントを継承します。
構文
Inherits basetypenames
部品
任期 | 定義 |
---|---|
basetypenames |
必須。 このクラスの派生元のクラスの名前。 -又は- このインターフェイスの派生元となるインターフェイスの名前。 複数の名前を区切るには、コンマを使用します。 |
注釈
使用する場合、 Inherits
ステートメントは、クラスまたはインターフェイス定義の最初の空白行以外の非コメント行である必要があります。
Class
またはInterface
ステートメントの直後に記述する必要があります。
Inherits
は、クラスまたはインターフェイスでのみ使用できます。 つまり、継承の宣言コンテキストをソース ファイル、名前空間、構造体、モジュール、プロシージャ、またはブロックにすることはできません。
準則
クラスの継承。 クラスで
Inherits
ステートメントを使用する場合は、基底クラスを 1 つだけ指定できます。クラスは、その中に入れ子になったクラスから継承できません。
インターフェイスの継承。 インターフェイスで
Inherits
ステートメントを使用する場合は、1 つ以上の基本インターフェイスを指定できます。 それぞれが同じ名前のメンバーを定義している場合でも、2 つのインターフェイスから継承できます。 その場合、実装するコードでは、実装するメンバーを指定するために名前修飾を使用する必要があります。インターフェイスは、より制限の厳しいアクセス レベルを持つ別のインターフェイスから継承できません。 たとえば、
Public
インターフェイスは、Friend
インターフェイスから継承できません。インターフェイスは、その中に入れ子になったインターフェイスから継承できません。
.NET Framework でのクラス継承の例として、SystemException クラスから継承する ArgumentException クラスがあります。 これにより、Message プロパティやToString メソッドなど、システム例外に必要なすべての定義済みのプロパティとプロシージャをArgumentExceptionできます。
.NET Framework でのインターフェイス継承の例として、IEnumerable インターフェイスから継承するICollection インターフェイスがあります。 これにより、 ICollection はコレクションを走査するために必要な列挙子の定義を継承します。
例 1
次の例では、 Inherits
ステートメントを使用して、 thisClass
という名前のクラスが 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
例 2
次の例は、複数のインターフェイスの継承を示しています。
Public Interface thisInterface
Inherits IComparable, IDisposable, IFormattable
' Add new property, procedure, and event definitions.
End Interface
thisInterface
という名前のインターフェイスには、IComparable、IDisposable、およびIFormattableインターフェイス内のすべての定義が含まれるようになりました。継承されたメンバーは、2 つのオブジェクトの型固有の比較、割り当てられたリソースの解放、およびオブジェクトの値をString
として表します。
thisInterface
を実装するクラスは、すべての基本インターフェイスのすべてのメンバーを実装する必要があります。
こちらも参照ください
.NET