vb.net中模塊的概念

模塊(Module)裏面可以直接有方法,這些方法自動就是靜態的(或者稱爲共享的——VB.NET中的關鍵字是Shared),這些方法可以直接調用,所以Module是無法實例化,也沒有必要實例化的

模塊無法繼承,也無法實現接口

模塊裏面可以有類,但其實這個類並不需要真的通過模塊作爲前綴來引用。所以模塊有點虛的概念

模塊可以被組織到命名空間中去,因爲模塊其實是個虛的,所以它的方法也可以直接外層的命名空間調用。

下面有個例子。注意,這裏的代碼只是演示目的而寫的,沒有任何具體意義 。

''

'可以用命名空間封裝,這是比較好的做法

Namespace Xizhang

'

''
<summary>

''
' 模塊無法繼承,無法實現接口

'

''
</summary>

''
' <remarks></remarks>

Module Module1

'

''
<summary>

''
' 模塊裏面的方法都是靜態的,無需實例化,也無從實例化

'

''
</summary>

''
' <remarks></remarks>

Sub Main()

Dim c As New class1

c.Name = "chenxizhang"

Console.WriteLine(c.Name)

Console.WriteLine(c.GetClassName())

Console.Read()

End Sub



'

''
<summary>

''
' 類型可以放在模塊裏面,但主要的現實意義在於分類存放而已,放在模塊裏面並不影響該類型對外的引用。
例如我們並不一定需要用Xizhang.Module1.Class1,而是直接通過Xizhang.Class1就可以對其進行引用

'

''
</summary>

''
' <remarks></remarks>

Public Class class1 : Implements IComparable

'

''
<summary>

''
' 類型可以繼承一個基類,可以實現一個或者多個接口

'

''
</summary>

''
' <remarks></remarks>

Private _name As String

Public Property Name() As String

Get

Return _name

End Get

Set(ByVal value
As String)

_name = value


End Set

End Property



Public Function GetClassName() As String

Return Me.GetType().ToString()



End Function



Public Function CompareTo(ByVal obj As Object) As Integer Implements System.IComparable.CompareTo

Return 1

End Function

End Class

End Module



End Namespace

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章