備註
此內容經Pearson Education, Inc.授權從架構設計指導方針:可重複使用 .NET 程式庫的慣例、習慣用語與範式 (第2版)轉載。 該版於2008年出版,該書自那以後已於 第三版全面修訂。 此頁面的某些資訊可能已過期。
❌ 請勿在抽象類型中定義公用或受保護的內部建構函式。
只有當使用者需要建立類型的實例時,建構函式才應為公用。 因為您無法建立抽象類型的實例,所以具有公用建構函式的抽象類型對用戶的設計不正確和誤導。
✔️ DO 會在抽象類中定義受保護的或內部建構函式。
受保護的建構函式比較常見,而且只要允許基類在建立子類型時執行自己的初始化。
內部建構函式可用來將抽象類的具體實作限制為定義類別的元件。
✔️ DO 提供至少一個繼承自您所發佈的每個抽象類別的具體類型。
這樣做有助於驗證抽象類的設計。 例如,System.IO.FileStream 的實作是一個抽象類別 System.IO.Stream。
© 2005年、2009年Microsoft公司部分。 保留所有權利。
經 Pearson Education, Inc. 許可重新刊登自 Krzysztof Cwalina 和 Brad Abrams 所著的 架構設計指導方針: 可重複使用的 .NET 程式庫慣例、慣用語和模式,第 2 版,2008 年 10 月 22 日由 Addison-Wesley Professional 發行,作為 Microsoft Windows 開發系列的一部分。