using System;
// 基本クラス
class BaseClass{}
// 派生クラス1
class DerivedClass1 : BaseClass{}
// 派生クラス2
class DerivedClass2 : BaseClass{}
class MainClass
{
static void Main()
{
/* DerivedClass1,2のインスタンスをを
* BaseClass型にアップキャスト */
BaseClass sample1 = new DerivedClass1();
BaseClass sample2 = new DerivedClass2();
// sample1をDerivedClass1型にダウンキャスト
sample1 = (DerivedClass1)sample1;
/* sample2をDerivedClass1型にダウンキャスト
sample2 = (DerivedClass1)sample2;
* sample2は元はDerivedClass2なので
* DerivedClass1にダウンキャストしようと
* するとエラーになる */
Console.WriteLine("エラーなく終了");
}
}
0 コメント:
コメントを投稿