VBS基础篇 - vbscript class类的定义与使用

2019-01-15 19:02:22于海丽

Class MyClass Private Sub Class_Initialize() End Sub Private Sub Class_Terminate() End Sub End Class

使用这个基本信息,一个类被声明,并且可以使用它来创建对象。但是这个类的对象没有功能——它们是无用的东西。类的方法从 Public Sub 或者 Public Function 声明构建(Subs 没有返回值,而 Function 有返回值)。

有 两个方法可以暴露属性:既可以在类的全局上下文中使用 Public VarName,也可以使用 Public Property Get/Set/Let。如果你需要一个只读属性,那么只要简单地使用一个 Property Get 声明即可。所 有其它声明为 Private 的 Properties,Subs 或者 Functions 只有在实例化的对象才可用。在类的全局上下文中声明为 Private 的变量是成员变量。

创建类的另外一个好处是你可以轻易的将这个类声明移值到 Web 服务中。因为这是很多开发人员前 进的方向,你可以通过使用类创建面向对象的代码先行一步。当你移值这些类声明到一个 Web 服务时,你不需要重写所有的放置了那段代码的ASP代码。所 要做的唯一的改变就是你的对象的实例化。

我发现创建这个抽象的最大的优点是可以使用其它 Web 开发者的帮助。因为对于很多开发人员来 说在每个不同的实现中重复创建相同的代码效率相当低,所以这个方法为每个开发人员提供了一个抽象工具。这就允许每个开发人员将精力更多地集中在当前工作的 功能上面,而不是花费时间重写他们已经开发过的代码上面。

如果你奇怪为什么我不提供一个COM对象来处理这个功能,那是因为它会把你锁定 到细节设计中。通过在 ASP 中动态地创建类,你可以不用重新编译和发布就能够对类做出更改。在类固定之后,再将它移值到 COM、Windows 脚 本组件(WSC)或者一个 Web 服务中,但是在开发阶段还是灵活一些好。

以下是补充资料

Class name '参数name必选项,Class 的名称 statements '一个或多个语句,定义了 Class 的变量、属性和方法 End Class

初始化与终结化的应用

使用Class语句可以创建一个对象,可以为它编写字段、属性及方法,它只有两个对象事件——Initialize与Terminate。

Class TestClass Private Sub Class_Initialize ' 设置 Initialize 事件,相当于构造函数 MsgBox("TestClass started") End Sub Private Sub Class_Terminate ' 设置 Terminate 事件,相当于析构函数 MsgBox("TestClass terminated") End Sub End Class Set X = New TestClass ' 创建一个 TestClass 实例 Set X = Nothing ' 删除实例 a.类的事件方法格式是固定的,事件名是固定的,事件只能是Sub不能是Function,事件无参数; b.类实例通过New来创建,通过Nothing来销毁; c.记住所有的类实例都是对象,创建与销毁时记得用Set语句,没有Set是错的。