vb.net中模块的概念

来源:互联网 发布:矩阵的特征值的意义 编辑:程序博客网 时间:2024/04/30 05:22

模块(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

原创粉丝点击