2010年1月20日水曜日

Base Class(基本クラス)のメソッドにvirtualキーワードを、Derived Class(派生クラス)のメソッドにoverrideキーワードを付け、BaseClassのメソッドを派生クラスで書き換えて、派生クラスをインスタンス化してそのメソッドを使用してみる。

using System;


// 基本クラス
class BaseClass
{
    /* virtualキーワードを付けてoverride
     * できるようにしておく */
    public virtual void printOut()
    {
        Console.WriteLine("BaseClass");
    }
}


class DerivedClass : BaseClass
{
    /* overrideキーワードを使用し
     * 基本クラスのメソッドを上書き */
    public override void printOut()
    {
        Console.WriteLine("DerivedClass");
    }
}


class MainClass
{
    static void Main()
    {
        DerivedClass sample 
            = new DerivedClass();


        // 呼び出されるMethodを確認
        sample.printOut();
        // 出力値:DerivedClass


        /* 基本クラスのメソッドを使用する
         * 場合は基本クラスをインスタンス化 */
        BaseClass sample1 = new BaseClass();


        // 呼び出されるMethodを確認
        sample1.printOut();
        // 出力値:BaseClass
    }
}

0 コメント:

コメントを投稿