using System;
// Interface
interface Interface1
{
void printOut();
}
// Methodを衝突させる
interface Interface2
{
void printOut();
}
// Interfaceの多重実装
class SampleClass : Interface1, Interface2
{
// 共通のMethodの実装
public void printOut()
{
Console.WriteLine("Interface");
}
// Interface1のMethodの実装
void Interface1.printOut()
{
Console.WriteLine("Interface1");
}
// Interface2のMethodの実装
void Interface2.printOut()
{
Console.WriteLine("Interface2");
}
}
class MainClass
{
static void Main()
{
// SampleClassをインスタンス化
SampleClass sample = new SampleClass();
/* 共通のMethodを呼び出す
* 出力値:Interface */
sample.printOut();
// SampleClass型をInterface1型にCast
Interface1 sample1 = (Interface1)sample;
// 出力値:Interface1
sample1.printOut();
// SampleClass型をInterface2型にCast
Interface2 sample2 = (Interface2)sample;
// 出力値:Interface2
sample2.printOut();
}
}
0 コメント:
コメントを投稿