2010年1月19日火曜日

インスタンスメンバーと静的メンバー(データ、メソッド)を定義して実行し、インスタンスメソッド、静的メソッドからアクセスできるインスタンスメンバー、静的メンバーをそれぞれ確認してみる。

using System;


class SampleClass
{
    /* インスタンスメンバー、
     * 静的メンバーを宣言 */
    int num1;
    public static int num2;
    string s1 = "インスタンスメンバー";
    static string s2 = "静的メンバー";


    // インスタンスメソッド
    public void printOut(int n)
    {
        num1 = n;


        Console.WriteLine
            ("{0}:{1}¥n{2}:{3}",
            num1, s1, num2, s2);
    }


    public static void printOut(int n, string s)
    {
        /* 静的メソッドからインスタンスメンバー
         * にはアクセスできない 
        num1=n; 
         s1も同様にアクセスできない*/
        Console.WriteLine
            ("{0}:{1}¥n{2}:{3}",
            n, s,
            num2, s2);
    }
}


class MainClass
{
    static void Main()
    {
        // 静的メンバーnum2に2を代入
        SampleClass.num2 = 2;
        // SampleClassをインスタンス化
        SampleClass sample = new SampleClass();


        /* インスタンスメソッドにアクセス
         * num2が共有されていることを確認 */
        sample.printOut(1);


        // 静的メソッドにアクセス
        SampleClass.printOut
            (1, "インスタンスメンバー");
    }
}

0 コメント:

コメントを投稿