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 という名前のインターフェイスに、IComparableIDisposable、および IFormattable インターフェイスのすべての定義が含まれるようになりました。継承されたメンバーではそれぞれ、2 つのオブジェクトの型固有の比較、割り当てられたリソースの解放、および String としてのオブジェクトの値の表現が提供されます。 thisInterface を実装するクラスでは、すべての基底インターフェイスのすべてのメンバーを実装する必要があります。

関連項目