|
|
1
8
你不能强制执行,但你可以通过一个类似
您可以通过使用 template method pattern . 例如,假设您有以下代码:
这里的问题是任何继承自
在这种情况下,客户机仍然只看到多态性
|
|
|
2
5
你可以这样称呼它:
但如果你问它是否可以在编译时被“检查”——不。 您可以使用依赖性分析工具(如ndepend)创建规则来检查是否正在执行,并将规则作为编译的一部分运行,但我认为您不能从编译器本身执行。 |
|
|
3
0
单一继承级别的一个常见模式是提供具有虚拟扩展点的非虚拟模板方法。
如果对操作的所有调用都调用模板方法,则将调用扩展点的任何重写,以及模板方法中始终被调用的代码。 |