更新:2007 年 11 月
其他类可以从未密封类继承。许多其他扩展性机制(如受保护成员和虚成员)要求类是未密封的。这些附加机制为添加或自定义类型的功能提供了功能强大的方式,但需要大量开销。即使没有附加扩展性机制,未密封类在许多开发方案中也非常有用。
考虑一种很好的方式,即采用不具有虚成员或受保护成员的未密封类,向框架提供资源开销少的适用扩展性。
默认情况下,大多数类都不应是密封的。这样,开发人员才能根据他们的特定情况来自定义类。例如,如果某个类是未密封的,则开发人员可以向从该类派生的类型添加一个构造函数,然后使用该构造函数将基类属性初始化为所需的值。开发人员还可以添加一些方法重载,用于传递方案特定的默认值。
部分版权所有 2005 Microsoft Corporation。保留所有权利。
部分版权所有 Addison-Wesley Corporation。保留所有权利。
有关设计指南的更多信息,请参见 Krzysztof Cwalina 和 Brad Abrams 编著、Addison-Wesley 于 2005 年出版的“Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries”(《框架设计指南:可重用 .NET 库的约定、术语和模式》)。