ジェネリックを使用して Java でファクトリ パターンを実行したいと考えています。私のコードは次のとおりです。
インターフェース:
public abstract class Factory<T> {
public abstract T create();
}
FactoryA クラス:
public class FactoryA extends Factory<FactoryA> {
public FactoryA() {
}
public FactoryA create() {
return new FactoryA();
}
}
FactoryB クラス:
public class FactoryB extends Factory<FactoryB> {
public FactoryB() {
}
public FactoryB create() {
return new FactoryB();
}
}
メインクラス:
public class FactoryCreator {
public static <T> T createFactory() {
Factory<T> t = ?; // is that right way?
return t.create();
}
public static void main(String[] args) {
FactoryA factoryA = FactoryCreator.createFactory();
FactoryB factoryB = FactoryCreator.createFactory();
}
}
質問、どのFactory t =が等しい必要があるか、または他の方法はありますか?