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();
}
}
}
関連の記事