2009年12月23日水曜日

virtual,overrideキーワードを使用して1つの基本クラス、2つの派生クラスを定義し、どのメソッド、仮想メソッドが呼び出されて実行されるのかを確認してみる。




using System;


class BaseClass
{
    public virtual void baseInfo()
    {
        Console.WriteLine("BaseClass");
    }
}
class DerivedClass1 : BaseClass
{
    public override void baseInfo()
    {
        Console.WriteLine("DerivedClass1");
    }
}
class DerivedClass2 : BaseClass
{
    public override void baseInfo()
    {
        Console.WriteLine("DerivedClass2");
    }
}
class MainClass
{
    static void Main()
    {
        BaseClass bc;


        bc = new BaseClass();
        bc.baseInfo();
        
        bc = new DerivedClass1();
        bc.baseInfo();


        bc = new DerivedClass2();
        bc.baseInfo();
    }
}

0 コメント:

コメントを投稿