福嶋@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