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();
if (sample1 is DerivedClass1)
{
Console.WriteLine
("sample1はDerivedClass1にDowncastできる");
}
else if (sample1 is DerivedClass2)
{
Console.WriteLine
("sample1はDerivedClass2にDowncastできる");
}
else
{
Console.WriteLine
("sample1はDerivedClass1,2にDowncastできない");
}
if (sample2 is DerivedClass1)
{
Console.WriteLine
("sample2はDerivedClass1にDowncastできる");
}
else if (sample2 is DerivedClass2)
{
Console.WriteLine
("sample2はDerivedClass2にDowncastできる");
}
else
{
Console.WriteLine
("sample2はDerivedClass1,2にDowncastできない");
}
}
}
0 コメント:
コメントを投稿