适用于 Visual Basic 6.0 用户的 Visual Basic 语言新增功能
更新:2007 年 11 月
Visual Basic 2008 具有许多新的语言功能和改进的语言功能(如继承、接口和重载),这使它成为功能强大的面向对象的编程语言。本页重点介绍了一些最大的更改,并提供了指向详细信息的链接。
![]() |
---|
如果您熟悉 Visual Basic 6.0,请参见 语言更改(针对 Visual Basic 6.0 用户) 以了解对新概念的介绍。 |
![]() |
---|
有关对 Visual Basic 2008 中的新语言功能的实用介绍,请参见 Visual Basic 指导教程。 |
新增功能
下面是 Visual Basic 2008 中的新语言功能。
继承
Visual Basic 2008 通过允许定义作为派生类基础的类来支持“继承”。派生类继承并可以扩展基类的属性和方法。它们还可以使用基类的新实现重写继承的方法。默认情况下,用 Visual Basic 2008 创建的所有类都是可继承的。因为设计的窗体实际上是类,所以可以使用继承基于现有窗体来定义新窗体。有关详细信息,请参见Visual Basic 中的继承。
异常处理
Visual Basic 2008 通过使用增强版本的 Try...Catch...Finally 语法支持“结构化异常处理”,诸如 C++ 之类的其他语言也支持该语法。结构化异常处理将现代控制结构(类似于 Select Case 或 While)与异常、受保护的代码块和筛选器结合起来。结构化异常处理借助于可靠、全面的错误处理程序使创建和维护程序变得容易。有关详细信息,请参见 异常处理介绍。
重载
“重载”是定义同名但使用不同数据类型的属性、方法、过程或运算符的能力。 可以使用重载的过程来提供处理不同种类数据所需的尽量多的实现,并给出单一、通用过程的外观。有关详细信息,请参见 重载属性和方法。
重写属性和方法
Overrides 关键字可使派生对象重写从父级对象继承的特征。虽然重写的成员具有与从基类继承的成员相同的参数,但它们具有不同的实现。成员的新实现可以通过以 MyBase 作为成员名的前缀来调用父类中的原始实现。有关详细信息,请参见 重写属性和方法。
构造函数和析构函数
“构造函数”是控制类的新实例初始化的过程。 与之相反,“析构函数”是在类离开范围或设置为 Nothing 时用来释放系统资源的方法。Visual Basic 2008 使用 Sub New 和 Sub Finalize 过程分别支持构造函数和析构函数。有关详细信息,请参见 对象生存期:如何创建和销毁对象。
数据类型
Visual Basic 2008 引入了三个新数据类型。Char 数据类型是一个无符号的 16 位数量,用来存储 Unicode 字符。它等效于 .NET FrameworkSystem.Char 数据类型。Short 数据类型是有符号的 16 位整数,在 Visual Basic 的较早版本中称为 Integer。Decimal 数据类型是 96 位的有符号整数,以 10 的可变次幂进行缩放。在 Visual Basic 的较早版本中,该数据类型仅在 Variant 中可用。此外,Visual Basic 现在支持无符号整数数据类型(UShort、UInteger 和 ULong)以及有符号类型 SByte。有关详细信息,请参见 Visual Basic 中的数据类型。
接口
“接口”描述类的属性和方法,但和类不同,它不提供实现。 使用 Interface 语句声明接口;还可以使用 Implements 语句编写用于将接口中描述的项付诸实施的代码。有关详细信息,请参见 Visual Basic 中的接口。
委托
“委托”是代表您自己调用对象方法的对象,有时被描述为类型安全、面向对象的函数指针。 可以使用委托让过程指定事件处理程序方法在事件发生时运行。还可以将委托用于多线程应用程序中。有关详细信息,请参见委托和 AddressOf 运算符。
共享成员
“共享成员”是由一个类的所有实例共享的属性、过程和字段。 当多个对象需要使用所有对象的公共信息时,共享数据成员很有用。无需事先从类中创建对象,便可使用共享的类方法。有关详细信息,请参见 Visual Basic 中的共享成员。
引用
通过“引用”可以使用其他程序集中定义的对象。 在 Visual Basic 2008 中,引用指向程序集而不是类型库。有关详细信息,请参见 引用和 Imports 语句。
命名空间
命名空间通过将类、接口和方法组织成层次结构来防止命名冲突。 有关详细信息,请参见 Visual Basic 中的命名空间。
程序集
“程序集”通过描述特定组件或应用程序的所有必需文件来替换和扩展类型库的能力。 每个程序集可包含一个或多个命名空间。有关详细信息,请参见 程序集。
属性 (Attribute)
可以使用“属性”来提供有关程序元素的附加信息。 例如,可以使用属性指定将类用作 XML Web services 时应公开类中的哪些方法。有关详细信息,请参见 Visual Basic 中的属性 (Attribute)。
多线程编程
可以使用 Visual Basic 2008 编写能够独立执行多个任务的应用程序。有可能延迟其他任务的任务可在单独的线程上执行,该过程称为“多线程处理”。 通过使复杂的任务在独立于用户界面的多个线程上运行,多线程处理使应用程序可以更积极地响应用户输入。有关详细信息,请参见 多线程应用程序。
移位运算符
Visual Basic 2008 现在支持对整数数据类型(Byte、Short、Integer 和 Long)和无符号类型(UShort、UInteger 和 ULong)进行算术左移和右移操作。算术移位不是循环的,即不会将从结果的一端移出的位从另一端重新移入。同时还提供了相应的赋值运算符。有关详细信息,请参见 移位运算符 和 赋值运算符。
循环变量声明
可以使用 Visual Basic 2008 将循环变量声明为 For 或 For Each 循环的一部分。可在 For 或 For Each 语句中为变量包括 As 子句,条件是在循环外未声明具有该名称的变量。以此方式声明的循环变量的范围是循环本身。有关详细信息,请参见 For...Next 语句 (Visual Basic)和 For Each...Next 语句 (Visual Basic)。
适用于 Visual Basic 2005 的 Visual Basic 语言新增功能
在此版本的 Visual Studio 中,Visual Basic 2008 的新语言功能包括循环继续、有保证的资源释放、混合的访问属性、无符号数据类型、运算符重载、泛型类型等等。有关更多信息,请参见 Visual Basic 语言的新增功能。