2012年2月7日火曜日

コンストラクタをどうやってまとめる?

クラスのコンストラクタって普通は一個じゃなくて何個も作ることになります。

それらのコンストラクタですが、ほとんど似たような処理で微妙に違う所があるという感じです。

で、似たような処理があったらまとめるというのが普通の考え方なのですが、じゃあどうやってまとめるかという問題です。

コンストラクタAとBがあったときに、AよりもBのほうが処理が多いとします。

このとき、こんなふうにするのが普通だと思います。

A(int x){
    B(x,0);
}

B(int x, int y){
    this.x = x;
    this.y = y;
}

でも、自分としてはこの方法はわかりにくいのです。次のように全部書いてもらったほうがいいです。

A(int x){
    this.x = x;
    this.y = 0;
}

B(int x, int y){
    this.x = x;
    this.y = y;
}

とはいえ、コンストラクタでの処理が多くなってきたら、これだとソースが膨大になってしまうのですが・・・。
うーむ。

0 件のコメント:

コメントを投稿