2012年08月06日
コンストラクタ
なんとも、最近まで知らなかった、コンストラクタの複数定義。
たとえば、newClass というクラス名があったとして、
以下のようなインスタンスを作成できます。
new NewClass();
new NewClass(12);
new NewClass(12,34);
これは、それぞれの引数をサポートするコンストラクタがあるからです。
VBScript 畑からの出身なので、ビルトインだけの特典だと思っていました。
これらの場合、以下のように定義します。
class NewClass {
public NewClass(){
init(0, 0);
}
public NewClass(int a) {
init(a, 0);
}
public NewClass(int a, int b) {
init(a, b);
}
private void init(int a, int b) {
〜
}
}
たとえば、newClass というクラス名があったとして、
以下のようなインスタンスを作成できます。
new NewClass();
new NewClass(12);
new NewClass(12,34);
これは、それぞれの引数をサポートするコンストラクタがあるからです。
VBScript 畑からの出身なので、ビルトインだけの特典だと思っていました。
これらの場合、以下のように定義します。
class NewClass {
public NewClass(){
init(0, 0);
}
public NewClass(int a) {
init(a, 0);
}
public NewClass(int a, int b) {
init(a, b);
}
private void init(int a, int b) {
〜
}
}
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image
-
no image