【发布时间】:2012-06-28 02:40:27
【问题描述】:
我正在使用 GoF 的书学习单例模式。当我读到它的后果时,我遇到了一个问题:
- 比类操作更灵活:另一种封装单例功能的方法是使用类操作(即 C++ 中的静态成员函数或 Smalltalk 中的类方法)。但是这两种语言技术都很难改变设计以允许一个类的多个实例。此外,C++ 中的静态成员函数绝不是虚函数,因此子类不能多态地覆盖它们。
我真的不明白这个解释。我认为类操作(静态方法)也可以允许一个类的多个实例,如果我使用实例的静态列表,但我当然知道我错了。
那么,谁能给我一些例子来帮助我理解这个问题?非常感谢!
【问题讨论】:
-
那不是单身。只是一个包含不同类实例的静态列表。