2010年2月9日火曜日

基本クラスを定義してそのクラスを継承して派生クラスを定義し、その際newキーワードで基本クラスのメンバーを隠蔽して再定義しつつも、baseキーワードで基本クラスのデータにもアクセスし、そして派生クラスをインスタンス化して再定義したMethodを実行してみる。

using System;

class BaseClass
{
    public string s = "BaseClass";

    public void printOut()
    {
        Console.WriteLine(s);
    }
}

class DerivedClass : BaseClass
{
    // 隠蔽
    new public string s = "DerivedClass";

    new public void printOut()
    {
        Console.WriteLine(s);
        // 基本クラスのデータにアクセス
        Console.WriteLine(base.s);
    }
}

class MainClass
{
    static void Main()
    {
        // 派生クラスをインスタンス化
        DerivedClass sample=new DerivedClass();

        /* 出力値
         * DerivedClass
         * BaseClass */
        sample.printOut();
    }
}

0 コメント:

コメントを投稿