Я хочу создать шаблон фабрики в java с дженериками. Мой код:Создатель объектов фабрики с generics
Интерфейс:
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();
}
}
Вопрос, что Завод t = должен быть равен или есть ли другой способ?
Нет никакого способа сделать это, как вы надеетесь. Вам нужно будет закончить выполнение FactoryA factoryA = FactoryA.create() '. –
@ louis-wasserman, Это не заводская модель. – phpnuker
Почему вы хотите создать класс, служащий фабрикой такого рода? Может быть, вы хотите, чтобы класс FactoryA служил фабрикой класса A? – nakosspy