2010年1月19日火曜日

BaseClass(基本クラス)を定義してそのクラスを継承してDerivedClass(派生クラス)を定義し、それぞれのクラスをインスタンス化してそのインスタンスからどのクラスのどのメンバー(データ、メソッド)にアクセス、使用出来るかを確認してみる。

using System;


// 基本クラス
class BaseClass
{
    public int num1 = 1;
    public string s1 = "SampleClass";


    public void printOut1()
    {
        Console.WriteLine("{0}:{1}",num1,s1);
    }
}
// 基本クラスの派生クラス
class DerivedClass : BaseClass
{
    public int num2 = 2;
    public string s2 = "DerivedClass";


    public void printOut2()
    {
        Console.WriteLine("{0}:{1}", num2, s2);
    }
}


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


        /* 基本クラス(SampleClass)のメンバーに
         * アクセスできることを確認 */
        Console.WriteLine
            ("{0}:{1}", sample1.num1, sample1.s1);
        sample1.printOut1();


        /* もちろん派生クラス(DerivedClass)にも
         * アクセスできることを確認 */
        Console.WriteLine
            ("{0}:{1}", sample1.num2, sample1.s2);
        sample1.printOut2();


        /* 基本クラス(BaseClass)も通常通りに
         * インスタンス化して使用できることを確認 */
        BaseClass sample2 = new BaseClass();
        Console.WriteLine
            ("{0}:{1}", sample2.num1, sample2.s1);
        sample2.printOut1();
    }
}

0 コメント:

コメントを投稿