类与模块

更新:2007 年 11 月

类和模块均是封装在它们中定义的项的引用类型,但它们从其他过程访问这些项的方式有所不同。

类与模块之间的差异

类和模块之间的主要差异在于:类可以实例化为对象,而标准模块则不能。由于标准模块的数据只有一个副本,因此当程序的一部分更改标准模块中的公共变量时,如果程序的其他任何部分随后读取该变量,都会获取同样的值。与之相反,每个实例化对象的对象数据则单独存在。另一个不同在于:不像标准模块,类可以实现接口。

说明:

当 Shared 修饰符应用于类成员时,它是与类本身相关联,而不是类的特定实例关联。使用类名可直接访问类成员,与模块成员的访问方式相同。有关共享成员的更多信息,请参见 Visual Basic 中的共享成员

类和模块对它们的成员使用不同的范围。在类中定义的成员其作用范围在类的特定实例内,并且只存在于对象的生存期内。要从类的外部访问类成员,必须使用“对象.成员”格式的全限定名称。

另一方面,在模块内声明的成员默认情况下是公共可访问成员,任何可访问该模块的代码都可以访问它。这意味着标准模块中的变量是有效的全局变量,因为它们在项目中的任何地方均可见,且存在于程序的整个生存期。

请参见

概念

结构和类

Visual Basic 中的共享成员

参考

Shared (Visual Basic)

其他资源

了解类