2010年1月3日日曜日

newキーワードを使用して、BaseClassのフィールドの値を隠蔽しつつも、baseキーワードを使用してBaseClassとDerivedClassの両方のフィールドの値にアクセスして出力してみる。

using System;


class BaseClass
{
    public int n = 0;
    public string s = "Kamimura";
}


class DerivedClass : BaseClass
{
    // 隠蔽
    new public int n = 1;
    new public string s = "Kamimura1";


    public DerivedClass()
    {
        Console.WriteLine(base.n + base.s);
        Console.WriteLine(n + s);
    }
}


class MainClass
{
    static void Main()
    {
        /* 出力値:0Kamimura
         *        1Kamimura1 */
        var drv=new DerivedClass();
    }
}

0 コメント:

コメントを投稿