Constructor Method
今日も書きますよ。昨日に続いて、Best Practice Pattern。
今日は 2 つめ。Constructor Method。
オブジェクトを作るときにどうするか?というお話。
昨日に続き、ざっくり解説ですが、多分そんな感じです。
たとえば、Point(x, y) みたいなコンストラクタがあって、このクラスを極座標表示に対応したいのであれば、
Point p = new Point(radius*Math.cos(theta), radius*Math.sin(theta));
とするのではなく、コンストラクタ側で、
Point(double r, double theta) { this(r*Math.cos(theta), r*Math.sin(theta)); }
みたいに書きましょう、ということ。(実際はどっちのコンストラクタも double を 2 つ取っちゃうので、Java 系の言語だとうまくいきません。Perl のように引数の型指定がやりにくい言語もちょっとつらい)
# オイラが Smalltalk をちゃんと理解していないので、たぶん理解しきれてない部分あり。
ケント・ベックのSmalltalkベストプラクティス・パターン―シンプル・デザインへの宝石集
- 作者: ケントベック,Kent Beck,梅沢真史,皆川誠,小黒直樹,森島みどり
- 出版社/メーカー: ピアソンエデュケーション
- 発売日: 2003/03
- メディア: 単行本
- 購入: 7人 クリック: 94回
- この商品を含むブログ (55件) を見る