共用方式為


抽象類別設計

更新:2007 年 11 月

因為抽象類別絕對不能執行個體化,所以正確定義其建構函式是相當重要的事。此外,確保抽象類別的功能正確且可輕鬆擴充也是一件重要的事。下列方針可協助您確保抽象類別的設計正確,且在實作時能夠如預期般運作。

請不要在抽象型別中定義公用或受保護的內部 (Visual Basic 中為 Protected Friend) 建構函式。

具有 public 或 protected internal 可視性的建構函式是針對可以執行個體化的型別;抽象型別絕對不可執行個體化。

要在抽象類別中定義受保護或內部建構函式。

如果您在抽象類別中定義受保護建構函式,則基底類別可以在建立衍生類別的執行個體時執行初始化工作。內部建構函式會防止抽象類別當做不在與此抽象類別相同組件內的型別之基底類別使用。

至少要提供一個具象型別繼承自您推出的每一個抽象類別。

這個作法可讓程式庫設計人員找出抽象類別設計中的問題或失察之處,這也表示,在開發人員可能不瞭解抽象類別和繼承關係的高階案例中,他們可以使用具象類別,而不必瞭解這些概念。例如,.NET Framework 可提供抽象類別 WebRequestWebResponse 來處理傳送要求給統一資源識別元 (URI) 以及從它接收回覆的作業。這些抽象類別的數個具象實作當中的一項是 Framework 加入 HttpWebRequestHttpWebResponse 類別,而這些類別為抽象類別的 HTTP 特定之實作。

Portions Copyright 2005 Microsoft Corporation.All rights reserved.

Portions Copyright Addison-Wesley Corporation.All rights reserved.

如需設計方針的詳細資訊,請參閱由 Krzysztof Cwalina 和 Brad Abrams 所著,並由 Addison-Wesley 於 2005 年發行的「Framework 設計方針:可重複使用之 .NET 程式庫的慣例、慣用語法和模式」一書。

請參閱

概念

在類別和介面之間選擇

其他資源

型別設計方針

開發類別庫的設計方針