介绍 Visual Basic 中的对象

更新:2007 年 11 月

“对象”是包含数据和操作该数据的方法的结构。几乎在 Visual Basic 中执行的所有操作都与对象关联。如果您第一次接触面向对象的编程,则下列术语和概念将帮助您入门。

类和对象

单词“类”和“对象”在面向对象的编程中使用得非常多,很容易将它们混淆。一般来说,class 是一些内容的抽象表示形式,而“对象”是类所表示的内容的可用示例。 共享类成员是此规则的一个例外,这种成员可在类的实例和声明为共享类类型的对象变量中使用。

字段、属性、方法和事件

类由字段、属性、方法和事件组成。字段和属性表示对象包含的信息。字段类似于变量,因为可以直接读取或设置它们。例如,如果有一个名为“Car”的对象,则可以在名为“Color”的字段中存储其颜色。

属性的检索和设置方法与字段类似,但是属性是使用 Property Get 和 Property Set 过程实现的,这些过程对如何设置或返回值提供更多的控制。在所存储值和使用此值的过程之间的间接层有助于隔离数据,并使您得以在分配或检索值之前验证这些值。

方法表示对象可执行的操作。例如,“Car”对象可以有“StartEngine”、“Drive”和“Stop”方法。通过向类中添加过程(Sub 例程或函数)来定义方法。

事件是对象从其他对象或应用程序接收的通知,或者是对象传输到其他对象或应用程序的通知。事件使对象得以在每当特定情况发生时执行操作。“Car”类的一个事件示例是“Check_Engine”事件。因为 Microsoft Windows 是事件驱动的操作系统,所以事件可来自其他对象、应用程序或用户输入(如鼠标单击或按键)。

封装、继承和多态性

字段、属性、方法和事件只是面向对象编程全部内容的一半。真正的面向对象的编程需要对象支持三种特性:封装、继承和多态性。

“封装”意味着将一组相关属性、方法和其他成员视为一个单元或对象。 对象可以控制更改属性和执行方法的方式。例如,对象可在允许属性更改前验证值。通过隐藏对象的实现细节(一种称为“数据隐藏”的做法),封装还使在以后对实现进行更改更为容易。

“继承”描述基于现有类创建新类的能力。 新类继承基类的所有属性、方法和事件,而且可用其他属性和方法自定义该新类。例如,可基于“Car”类创建名为“Truck”的新类。“Truck”类从“Car”类继承“Color”属性,而且可有其他属性,如“FourWheelDrive”。

“多态性”意味着可以有多个可互换使用的类,即使每个类以不同方式实现相同属性或方法。 多态性对于面向对象编程非常重要,因为它允许使用同名的项,而不管此时使用的是什么类型的对象。例如,假设给定基类“Car”,多态性使程序员能够为任意数量的派生类定义不同的“StartEngine”方法。名为“DieselCar”的派生类的“StartEngine”方法可以与基类中同名的方法完全不同。其他过程或方法可用完全相同的方式使用派生类的“StartEngine”方法,不管此时使用的是什么类型的“Car”对象。

重载、重写和隐藏

重载、重写和隐藏是很容易混淆的类似概念。虽然所有这三种技术都使您可以创建同名的成员,但它们之间有一些重要的差异。

  • 重载的成员用于提供属性或方法的不同版本,这些版本具有相同名称但是接受不同数量的参数或者接受不同数据类型的参数。

  • 重写的属性和方法用于替换在派生类中不适合的继承的属性或方法。重写的成员必须接受同一数据类型和参数数量。派生类继承重写的成员。

  • 隐藏的成员用于局部替换具有更广范围的成员。任何类型都可隐藏任何其他类型。例如,可声明隐藏同名继承方法的属性。无法继承隐藏的成员。

请参见

概念

类:对象的蓝图

重载属性和方法

重写属性和方法

Visual Basic 中的隐藏

其他资源

对象 (Visual Basic)

创建和使用对象

Visual Basic 中的继承