## コンストラクターとは
コンストラクターとは、オブジェクトをつくったタイミングで処理を実行するものです。
クラス内の変数に初期値を設定する時などに使います。
全てのクラスには必ずコンストラクターが設定されています。
コンストラクターを設定しない場合は、デフォルトのコンストラクターが設定されます。
## コンストラクターの使い方や書き方
class クラス名
{
アクセス修飾子 クラス名()
{
// コンストラクターの処理
}
}
アクセス修飾子のあとに、クラス名()を書きます。
これにより、アクセス修飾子 クラス名()
{
// コンストラクターの処理
}がコンストラクターになります。
アクセス修飾子は他のクラスから呼び出せるように、publicをつけます。
newキーワードでこのクラスのオブジェクトがつくられると、コンストラクターが実行し、// コンストラクターの処理が実行されます。
using static System.Console;
class Test1
{
public string kago;
public Test1()
{
kago = "イチゴ";
}
}
class Test2
{
static void Main()
{
Test1 test1 = new Test1();
WriteLine(Test1.kago);
}
}
イチゴ
アクセス修飾子にpublicを指定したkago変数を宣言します。
publicをつけて他のクラスから呼び出せるようにします。
アクセス修飾子のあとに、Test1()と書きます。
これにより、public Test1()
{
kago = “イチゴ”;
}がTest1クラスのコンストラクターになります。
Test1クラスのコンストラクターの処理です。
実行されるとkago変数にイチゴが代入されます。
newキーワードでTest1クラスのオブジェクトをつくり、test1変数に代入しています。
Test1クラスのオブジェクトがつくられたので、Test1クラスのコンストラクターのkago = “イチゴ”;が実行され、kago変数にイチゴが代入されました。
Testクラスのkago変数の中身を表示します。
コンストラクターでイチゴが代入されているためイチゴと表示されます。
## コンストラクターにパラメーターを指定した使い方や書き方
コンストラクターにはパラメーターを指定することができます。
コンストラクターのパラメーターとは、オブジェクトをつくった時に、コンストラクターに渡せる値です。
コンストラクターはこのパラメーターを使った処理をすることができます。
class クラス名1
{
アクセス修飾子 クラス名(型 変数名)
{
// コンストラクターの処理
}
}
class クラス名2
{
static void Main()
{
クラス名1 オブジェクト名 = new クラス名1(値);
}
}
パラメーターに渡せる型と、受け取った値を代入する変数名を指定します。
コンストラクターをつくる時に、「 クラス名() 」の「 () 」内に型と変数名を指定します。
指定した型が、パラメーターが受け取れる型です。
指定した変数名が、受け取った値を代入するものです。
これで、コンストラクターはパラメーターを受け取れるようになりました。
コンストラクターのパラメーターに渡す値を指定します。
クラス名1のオブジェクトをつくる時に、「 クラス名1() 」の「 () 」内に値を指定します。
指定した値が、クラス名1のコンストラクターのパラメーターに渡されます。
値は、クラス名(型 変数名)で指定した型の値しか渡せません。
using static System.Console;
class Test1
{
public string kago;
public Test1(string nakami)
{
kago = nakami + "です。";
}
}
class Test2
{
static void Main()
{
Test1 test1 = new Test1("イチゴ");
WriteLine(test1.kago);
}
}
イチゴです。
コンストラクターのパラメーターが受け取れる型にstring型を指定し、受け取った値を代入する変数名にnakamiを指定します。
Test1クラスのオブジェクトをつくり、コンストラクターを実行します。
Test1クラスのパラメーターのstring nakamiに「 イチゴ 」を渡し、変数nakamiにイチゴが代入されました。
変数kagoを宣言し、変数「 nakami 」と「 です。 」を代入します。
変数「 nakami 」にはパラメーターに渡された「 イチゴ 」が代入されているので、「 イチゴです。 」が代入されたことになります。
test1.kagoを表示すると、イチゴです。と表示されます。