VB.NET中Module

前端之家收集整理的这篇文章主要介绍了VB.NET中Module前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1. 概念

为什么会有模块的概念?

在VB中有模块和类模块的概念,所谓模块就是存放公用的一些方法(Sub)或者(Function);而类模块,相当于我们经常说的类的概念。所以在VB.NET中也就有了Module的概念,它是继承下来的。但是在VB.NET里面Module有一些新的功能

1. 模块(Module)的方法特点:这些方法自动就是静态的(或者称为共享的——VB.NET中的关键字是Shared),这些方法可以直接调用,所以Module是无法实例化,也没有必要实例化的。

2. 模块无法继承,也无法实现接口

3. 每个模块均正好有一个实例,并且无需创建此实例或将其赋给变量。模块不支持继承,也不实现接口。请注意,从类或结构是类型这一意义上说,模块并非类型 - 您无法将编程元素声明为具有模块的数据类型。

4. 在命名空间级别使用 Module。这意味着模块的声明上下文必须是源文件或命名空间,而不能是类、结构、模块、接口、过程或块。无法在一个模块或任何类型中嵌套另一个模块。

2. 和Class的区别

1. 术语。以前的 Visual Basic 版本识别两种类型的模块:类模块(.cls 文件)和标准模块(.bas 文件)。当前版本会分别调用这些类和模块。

2. 共享成员。可以控制类的成员是共享成员还是实例成员。

3. 面向对象。类是面向对象的,但模块不是。因此,只能将类实例化为对象。

3. 使用示例

模块的使用了类的使用区别其实不大,可以理解为一个不能够实例化的静态类,在里面我们可以定义一些全局变量函数。在模块中定义全局变量,入口函数Main和其他共享或私有函数方法,引用模块中定义的变量,函数方法不需要进行New实例化。

Module中创建了Main函数,程序Main()函数启动

Public Module thisModule
    Sub Main()
        Dim userName As String = InputBox("What is your name?")
        MsgBox("User name is" & userName)
    End Sub
    ' Insert variable,property,procedure,and event declarations.
End Module

在Module中创建了一些全局变量函数调用这些变量和方法的时候不用New。

Imports System
Imports System.IO

Public Module MyModule
    '定义全局变量
    '登陆的用户名和密码
    Public LoginID As String
    Public LoginPwd As String

    Public Sub AddOne(ByVal n As Integer)  '这里是函数AddOne的定义
        Console.WriteLine(n + 1)
    End Sub

    '函数是有返回值的。我们写一个函数,传入一个整数,函数返回这个数的加二。例如给它3,它返回5。
    Public Function AddTwo(ByVal n As Integer) As Integer
        Return n + 2        'return后面的表达式就是这个函数要返回的东西
    End Function

End Module

原文链接:https://www.f2er.com/vb/258688.html

猜你在找的VB相关文章