3

一个理论问题。我正在阅读 Gof 的设计模式,抽象工厂部分。这本书提到了像原型一样实现这种模式的可能性,或者,如果语言允许的话,使用存储类而不是对象的原型。

我明白了这一点;例如在Java 或Smalltalk 中,类也是对象(在Java 中它们实际上是类Class 的实例)。因此,我们可以将它们存储在一个类中,并在需要时调用这些类的实例的创建。

在 C++ 中,类不是第一类对象。因此,我们不应该能够遵循这种方法。但是,我们不能在具体工厂中声明嵌套类,并使用调用它们的构造函数(并返回它们的实例)的方法吗?最终结果将与 Java 或 Smalltalk 等其他语言相同。我对吗?

感谢您的关注。

4

0 回答 0