C#のインスタンス

世の中の製品が部品の集合で出来ているように、アプリケーションも部品の集合として作り上げていきます。
部品の設計図となるのがクラスであり、その設計図から作られた実体がインスタンスと呼ばれます。

インスタンスは、1つのクラスから複数作る事も可能です。
自転車で例えると、同じ設計図から作られたタイヤという部品を前輪と後輪のようにそれぞれの役割で利用するのと似ています。
同じクラスから作られたインスタンスはそれぞれ異なる値を格納する事が出来ます。
異なる値を使って同じ計算をさせる事が可能になります。



インスタンス生成

設計図であるクラスから実体を作る作業をインスタンス生成と呼びます。
インスタンス生成はキーワード(予約語) new を使って行います。
new の後にクラス名を指定して使います。
変数名 = new クラス名();


サンプル

以下のサンプルではTestというクラスからt1とt2という2つのインスタンスを生成しています。
t1とt2のフィールドにはそれそれ別の値を入れる事が出来ます。
public class Test
{
    public int A;
    public int B;

    public int Average()
    {
        return (A + B) / 2;
    }
}



public class Program
{
    static void Main()
    {
        Test t1;
        t1 = new Test();                    // インスタンス生成
        t1.A = 90;
        t1.B = 10;

        Test t2;
        t2 = new Test();                    // インスタンス生成
        t2.A = 40;
        t2.B = 20;
        
        Console.WriteLine(t1.Average());    // 50
        Console.WriteLine(t2.Average());    // 30
    }
}



オブジェクトとインスタンスの違い

C#ではあらゆるものを「オブジェクト」と表現します。
オブジェクトという大きなくくりの中にインスタンスがあります。



コメント