継承 (C# プログラミング ガイド)

クラスは、別のクラスを継承できます。この処理を行うには、次のようにクラスの宣言時にクラス名の後にコロンを配置し、コロンの後に継承元のクラス (基本クラス) の名前を指定します。

public class A
{
    public A() { }
}

public class B : A
{
    public B() { }
}

これで新しいクラス (派生クラス) は、基本クラスの非プライベート データと動作をすべて取得し、さらに独自に定義した他のデータと動作も取得します。新しいクラスの有効な型は 2 つになります。1 つは新しいクラスの型で、もう 1 つは継承元のクラスの型です。

上の例では、クラス B は、B でも A でも有効です。B オブジェクトにアクセスするときは、キャスト操作を使用して、B オブジェクトを A オブジェクトに変換できます。B オブジェクトはキャストによって変更されませんが、B オブジェクトのビューは、A のデータと動作に制限されるようになります。B を A にキャストした後、この A は B にキャスト バックできます。その際、B にキャストできるのは、A のすべてのインスタンスではなく、B の実際のインスタンスだけに限定されます。クラス B に B 型としてアクセスすると、クラス A とクラス B のデータと動作を取得します。オブジェクトが複数の型を表す機能をポリモーフィズムと言います。詳細については、「ポリモーフィズム (C# プログラミング ガイド)」を参照してください。キャストの詳細については、「キャスト (C# プログラミング ガイド)」を参照してください。

構造体は、他の構造体やクラスを継承できません。クラスと構造体は共に 1 つ以上のインターフェイスを継承できます。詳細については、「インターフェイス (C# プログラミング ガイド)」を参照してください。

表示: