Inherits Statement
現在のクラスまたはインターフェイスで、属性、変数、プロパティ、プロシージャ、およびイベントを別のクラスまたは一連のインターフェイスから継承させます。
構文
Inherits basetypenames
指定項目
用語 | 定義 |
---|---|
basetypenames |
必須です。 このクラスの派生元のクラスの名前です。 \- または - このインターフェイスの派生元のインターフェイスの名前です。 複数の名前を区切るには、コンマを使用します。 |
Remarks
使用した場合、Inherits
ステートメントが、クラスまたはインターフェイス定義の最初の空行でもコメント行でもない行に記述されている必要があります。 それは、Class
または Interface
ステートメントの直後に追加する必要があります。
Inherits
は、クラスまたはインターフェイスでのみ使用できます。 つまり、継承の宣言コンテキストは、ソース ファイル、名前空間、構造体、モジュール、プロシージャ、ブロックにすることができません。
ルール
クラスの継承。 クラスで
Inherits
ステートメントを使用する場合、指定できる基底クラスは 1 つだけです。クラスは、その中の入れ子にされたクラスから継承できません。
インターフェイスの継承。 インターフェイスで
Inherits
ステートメントを使用している場合、1 つまたは複数の基底インターフェイスを指定できます。 それぞれが同じ名前のメンバーを定義している場合でも、2 つのインターフェイスから継承できます。 その場合、実装するコードでは、実装するメンバーを指定するために名前の修飾を使用する必要があります。インターフェイスは、より制限の厳しいアクセス レベルの別のインターフェイスから継承することはできません。 たとえば、
Public
インターフェイスは、Friend
インターフェイスから継承することはできません。インターフェイスは、その中に入れ子にされたインターフェイスから継承することはできません。
.NET Framework でのクラス継承の例として、SystemException クラスから継承する ArgumentException クラスがあります。 これにより、ArgumentException に、Message プロパティや ToString メソッドなど、システム例外に必要なすべての定義済みプロパティとプロシージャを提供できます。
.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