2009年12月23日水曜日

隠蔽でアップキャストすると基本クラスと派生クラスのどちらのメソッドを呼び出し実行するのかを確認してみる。

using System;


class BaseClass
{
    public virtual void baseInfo()
    {
        Console.WriteLine("基本クラス");
    }
}
class DerivedClass : BaseClass
{
    new public void baseInfo()
    {
        Console.WriteLine("派生クラス");
    }
}
class MainClass
{
    static void Main()
    {
        // BaseClass型の変数を宣言
        BaseClass bc;
        // DerivedClassのインスタンスを代入
        bc = new DerivedClass();
        bc.baseInfo();
        // 出力値:基本クラス
    }
}

0 コメント:

コメントを投稿