最佳解答者
MODULE與 class 的差別??

問題
解答
-
Module 陳述式定義可以在命名空間中使用的參考型別 (Reference Type)。「模組」(有時稱為「標準模組」) 與類別 (Class) 類似,但有一些重要區別。每個模組都只可有一個執行個體,且不需要建立或指派給變數。模組不支援繼承 (Inheritance) 或實作介面。請注意,就這種意義而言,模組不是類別或結構的「型別」。不可將程式設計項目宣告成具有模組的資料型別。
只可以在命名空間層級使用 Module。這表示模組的「宣告內容」必須是原始程式檔或命名空間,且不可以是類別、結構、模組、介面、程序或區塊。不可在另一個模組內或任何型別內巢狀化模組。
模組的存留期 (Lifetime) 與程式相同。因為它的成員都是 Shared,所以它們的存留期也等於程式的存留期。
模組預設值為 Friend (Visual Basic) 存取。您可以使用存取修飾詞調整存取層級。
所有回覆
-
Module 陳述式定義可以在命名空間中使用的參考型別 (Reference Type)。「模組」(有時稱為「標準模組」) 與類別 (Class) 類似,但有一些重要區別。每個模組都只可有一個執行個體,且不需要建立或指派給變數。模組不支援繼承 (Inheritance) 或實作介面。請注意,就這種意義而言,模組不是類別或結構的「型別」。不可將程式設計項目宣告成具有模組的資料型別。
只可以在命名空間層級使用 Module。這表示模組的「宣告內容」必須是原始程式檔或命名空間,且不可以是類別、結構、模組、介面、程序或區塊。不可在另一個模組內或任何型別內巢狀化模組。
模組的存留期 (Lifetime) 與程式相同。因為它的成員都是 Shared,所以它們的存留期也等於程式的存留期。
模組預設值為 Friend (Visual Basic) 存取。您可以使用存取修飾詞調整存取層級。
-
把模組當成全域類別吧 .
以下的模組程式碼:
Module MyModule
Public Function xxxxxx As xxx
....
End FunctionPublic Sub xxxxxx As xxx
....
End SubEnd MyModule
等同於下面的類別:
Public Class MyModule
Public Shared Function xxxxxx As xxx
...
End FunctionPublic Shared Sub xxxxxx As xxx
...
End SubEnd Class
呼叫方法都是〔模組/類別名稱.函式名稱〕:MyModule.xxxxxx()