コンストラクタとは?
Javaの場合
class Dentaku
{
int a ;
int b;
Dentaku() //コンストラクタ
{
System.out.println("電卓を作りました");
}
Dentaku(int aa, int bb)
{
a = aa;
b = bb;
}
void tasizan()
{
System.out.println(a + "+" + b + "=" + (a+b));
}
}
class MyClass62
{
public static void main(String args[])
{
Dentaku dentaku1 = new Dentaku(1,1);
dentaku1.tasizan();
}
}
クラス名ト同じ
メソッドの形で用意しておくと、引数の初期値を設定できる
この場合は
class Dentaku
|- Dentaku() コンストラクタ 引数なし
|- Dentaku(int aa, int bb) コンストラクタ 引数あり
|- void tasizan() メソッド
んで
MyClass6で
Dentaku dentaku1 = new Dentaku(1,1);
Dentaku dentaku1 = new Dentaku();
を使って、
引数の有無でスイッチできるようにする。
Dentaku dentaku1 = new Dentaku(1,1); → tasizan メソッドで計算される
Dentaku dentaku1 = new Dentaku(); →電卓を作りました。数字がないので計算されない
基本的にJavaの場合は自動で作ってくれる
基本的にオブジェクトの初期化で、デフォルトの数値を設定するのに使う。
コンストラクタで初期化
・new を使用した時に呼び出される特殊なメソッド
・クラス名と同じ名前で定義する。
書き方
class SampleClass
{
SampleClass()
{
インスタンスの初期化用コードを記述
}
}
class person
{
public string name
public int age;
public person() クラス名と同じ名前
{
name = "";
age = 0;
}
}
とりあえず、現段階だと
クラスとかメソッドの初期値を設定できるもの。ぐらいで
で、その記述方法が
クラス名()
{処理内容}
ということ。
んで、new を使ったら自動的に設定されるメソッドってことで。