注释
此内容由 Pearson Education, Inc. 的许可从 框架设计指南:可重用 .NET 库的约定、习惯和模式(第 2 版)重新打印。 该版于2008年出版,此后该书已于 第三版全面修订。 此页上的一些信息可能已过期。
❌ 请勿在抽象类型中定义公共或受保护的内部构造函数。
仅当用户需要创建类型的实例时,构造函数才应是公共的。 由于无法创建抽象类型的实例,因此具有公共构造函数的抽象类型对用户进行错误设计和误导。
✔️ 请务必在抽象类中定义一个受保护的或内部的构造函数。
受保护的构造函数更为常见,只需允许基类在创建子类型时执行其自己的初始化。
内部构造函数可用于将抽象类的具体实现限制为定义类的程序集。
✔️ 请务必提供至少一种从你交付的每个抽象类继承的具体类型。
这样做有助于验证抽象类的设计。 例如, System.IO.FileStream 是抽象类的 System.IO.Stream 实现。
部分内容 © 2005, 2009 Microsoft 公司。 保留所有权利。
获得皮尔逊教育公司许可后重印自 框架设计准则:可重用 .NET 库的约定、习惯和模式 ,由 Krzysztof Cwalina 和 Brad Abrams 编写,并作为微软 Windows 开发系列中的出版物之一,于 2008 年 10 月 22 日由 Addison-Wesley Professional 出版。