>>335
FactoryMethodだけはswitchするしかない。OOPのお約束。
そのかわり、そこ以外では一つもswitchしないですむよう
な、保守性の良いコードを書けるのが、OOPのいいところ。

FactoryMethodの価値は、メソッド一個じゃ分かりにくいけどね。

public interface Hoge{void exec();}

public class HogeFactory{

 public static class Type{private Type(){}}
 public static final Type HIGE =new Type();
 public static final Type HAGE =new Type();

 class Hige implements Hoge{public void exec(){System.out.println("HIGE");}}
 lass Hage implements Hoge{public void exec(){System.out.println("HAGE");}}

 static Hoge createHoge(Type type){
  if(type==HIGE)return new Hige();
  if(type==HAGE)return new Hage();
  return null;
 }
}