次の方法で共有


Inherits ステートメント

現在のクラスまたはインターフェイスが、別のクラスまたはインターフェイスのセットから属性、変数、プロパティ、プロシージャ、およびイベントを継承します。

構文

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

こちらも参照ください