福嶋@PFUです。
On Thu, 05 Jul 2001 10:22:09 +0900, according to the article
"[XP-jp:02116] Re: XP 日誌"
Kenji Hiranabe <hiranabe@....jp> wrote:
> たです.この後,
>
> static final String FEMALE = "FEMALE";
> static final String MALE = "MALE";
>
> をクラスに加えて,文字列リテラルの繰り返しを避けるリファクタ
> リングを掛けました.
うーん…。いまいちのような…。
> 他の案として,C の enum 的に Sex リテラルを作る,という案が
> ありました.
大反対ですね。Cのenum的にって、Cで開発しているわけではないの
ですから。
> final class Sex { // like enum Sex { NOT_SPECIFIED, MALE, FEMAIL };
> int sex;
> public static final Sex NOT_SPECIFIED = new Sex(0);
> public static final Sex MALE = new Sex(1);
> public static final Sex FEMALE = new Sex(2);
> private Sex(int sex) { // !! private !!
> this.sex = sex;
> }
> }
>
> class Person {
> String name;
> private Sex sex = Sex.NOT_SPECIFIED;
> // ...
> }
>
> でも,今回は,複雑すぎる,ということでシンプルに String にし
> ました.
Sexインタフェースを実装したAbstractSexクラスがあって、それを
継承した、Maleクラス、Femaleクラス、NotSpecifiedクラスがあるの
かな…と思いました。
(そこまでやる必要ないのかもしれませんが)
----------------------------------------
(株)PFU ソフトプロダクト事業部第二開発部
福嶋 航
w.fukushima@....com