共用方式為


類別和模組的比較

更新:2007 年 11 月

類別 (Class) 和模組都是將內部定義的項目封裝起來的參考型別 (Reference Type),但兩者差異在於從不同之程序存取項目時的方式。

類別和模組間的差異

類別和模組的主要差異為類別可以具現化 (Instantiated) 為物件,但標準模組不行。因為標準模組資料只有一份複本,所以當程式的一部分變更了標準模組中的公用變數時,只要程式的其他部分讀取該變數時,就會取得相同的值。相反地,每一個具現化 (Instantiated) 物件的物件資料會個別存在。而另一個與標準模組不同之處是類別可以實作介面。

注意事項:

當 Shared 修飾詞 (Modifier) 套用至類別成員時,會關聯至類別本身而不是類別的特定執行個體。使用類別名稱即可直接存取成員,與存取模組成員的方式相同。如需共用成員的詳細資訊,請參閱 Visual Basic 的共用成員

類別和模組使用不同的成員範圍。在類別中定義的成員位於類別中特定執行個體的範圍內,並僅於物件的存留期 (Lifetime) 才存在。若要從類別外部存取類別成員,您必須使用 Object.Member 格式的完整限定名稱 (Qualified Name)。

另一方面,根據預設,模組內宣告的成員可公開存取,任何可存取模組的程式碼均可存取。這表示標準模組內的公用變數是有效的全域變數,因為從專案的任何地方都是可見的,而且在程式的存留期間都會存在。

請參閱

概念

結構和類別

Visual Basic 的共用成員

參考

Shared (Visual Basic)

其他資源

了解類別