共用方式為


抽象類設計

備註

此內容經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 開發系列的一部分。

另請參閱