1

工厂模式由实现特定接口的类组成。它总是必须是一个接口吗?当我的子类继承自其他类而不是接口时,它仍然是工厂方法吗?

4

2 回答 2

5

工厂方法模式不一定与接口有任何关系(就语言的关键字interface构造而言)。您可以拥有创建类实例的工厂方法,并且可以像使用接口一样轻松地构造子类而不是基类。

例如,请参阅此 Wikipedia 示例。在这里,Room创建了 a,主类型的子类创建了不同的具体类型的Room实例。这仍然使用工厂方法模式,即使没有涉及“接口”。

我的问题是,如果我用父类“替换”接口,它仍然是工厂方法吗?

是的 - 它仍然是一种工厂方法。

于 2012-08-30T22:33:39.240 回答
1

这不是那个意思。交互上下文中的接口,控制(创建)而不是 Java 的interface

于 2012-08-30T22:33:57.930 回答