C# コンストラクタのサンプル

C#のコンストラクタのサンプルです。

目次

コンストラクタ

class クラス名 {
  コンストラクタ名(引数){
    処理
  }
}
  • コンストラクタは、new演算子でクラスをインスタンス化する時に呼ばれます。
  • クラスの初期値を設定するときなどに使用されます。
  • コンストラクタ名は、クラス名と同じにします。
  • 戻り値はないので、戻り値の記述はしません。
  • コンストラクタをオーバーロードすることもできます。
    C# オーバーロードのサンプル

コード

9行目がコンストラクタです。5行目のクラス名(Class1)と同じ名前にします。
23行目でインスタンスが生成されると9行目のコンストラクタが呼ばれて11行目で引数の値(緑)が7行目の変数にセットされます。

using System;

namespace Project1
{
    class Class1
    {
        private string name;

        public Class1(string name1)
        {
            name = name1;
        }

        public string getName()
        {
            return name;
        }
    }
    class Test1
    {
        static void Main()
        {
            Class1 c1 = new Class1("緑");

            string message1 = c1.getName();

            Console.WriteLine(message1); // 緑
        }
    }
}

デストラクタ

class クラス名 {
  ~デストラクタ名(){
    処理
  }
}
  • デストラクタは、インスタンスが消えるときに呼ばれます。
  • 処理がいつ実行されるかわからないのであまり使用されません。
    →インスタンスはガベージコレクションの仕組みで消されます。
  • デストラクタ名は、クラス名と同じにして先頭にチルダ(~)をつけます。

コード

14行目がデストラクタです。9行目のクラス名(Class1)と同じ名前にします。
16行目は、インスタンスが消えるときに実行されます。

using System;

namespace Project1
{
    class Class1
    {
        private string name;

        public Class1()
        {
            name = "test1";
        }

        ~Class1()
        {
            name = "test2";
        }
    }
    class Test1
    {
        static void Main()
        {
            Class1 c1 = new Class1();
        }
    }
}

関連の記事

C# クラスのサンプル
C# クラスの継承のサンプル

 

プログラムでつまったらteratailに登録して質問しましょう!↓↓↓

△上に戻る