分享方式:


靜態類別設計

注意

此內容是由 Pearson Education, Inc. 授權轉載自架構設計指導方針:可重複使用 .NET 程式庫的慣例、慣用語和模式,第 2 版。 該版於 2008 年出版,該書自那以後已於第三版進行了全面修訂。 此頁面上的某些資訊可能已過期。

靜態類別定義為只包含靜態成員的類別 (當然除了繼承自 System.Object 的執行個體成員之外,可能還有私用建構函式)。 某些語言針對靜態類別提供內建支援。 在 C# 2.0 和更新版本中,當類別宣告為靜態時,則會是密封、抽象狀態,而且無法覆寫或宣告任何執行個體成員。

靜態類別是純物件導向設計與簡單性之間的折衷。 它們通常用於對下列項目提供捷徑:其他作業(例如 System.IO.File)、擴充方法的持有者或完整物件導向包裝函式不想要的功能 (例如 System.Environment)。

✔️ 請謹慎使用靜態類別。

靜態類別只能用作架構物件導向核心的支援類別。

❌ 請勿將靜態類別視為其他貯體。

❌ 請勿在靜態類別中宣告或覆寫執行個體成員。

✔️ 如果您的程式設計語言並未針對靜態類別提供內建支援,請務必將靜態類別宣告為密封、抽象狀態,並新增私用執行個體建構函式。

Portions © 2005, 2009 Microsoft Corporation. 著作權所有,並保留一切權利。

獲 Pearson Education, Inc. 的授權再版,從 Krzysztof Cwalina 和 Brad Abrams 撰寫,並在 2008 年 10 月 22 日由 Addison-Wesley Professional 出版,作為 Microsoft Windows Development Series 一部份的 Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition 節錄。

另請參閱