2010年2月10日水曜日

virtual keywordを付け、overrideできるようにしておいたMethodをメンバーに持つ基本クラスを定義してその基本クラスを継承した派生クラスを定義し、その際基本クラスのMethodをoverride keywordを使用して再定義し、基本クラス、派生クラスをそれぞれインスタンス化してMethodを呼び出し、派生クラスではMethodが再定義されていることを確認してみる。
using System;

class BaseClass
{
    // override出来るようにしておく
    public virtual void printOut()
    {
        Console.WriteLine("BaseClass");
    }
}

// 基本クラスを継承
class DerivedClass : BaseClass
{
    public override void printOut()
    {
        Console.WriteLine("DerivedClass");
    }
}

class MainClass
{
    static void Main()
    {
        // 基本クラスをインスタンス化
        BaseClass sample1 = new BaseClass();
        // 出力値:BaseClass
        sample1.printOut();

        // 派生クラスをインスタンス化
        DerivedClass sample2=new DerivedClass();
        // 出力値:DerivedClass
        sample2.printOut();
    }
}

0 コメント:

コメントを投稿