VBS基础篇 - 对象(1) - Class对象
VBS基础篇 - 对象(1) - Class对象
相信对JAVA有一定了解的朋友一定对类这个名词不陌生,但是大家可能没有想过在VBS中使用Class类吧,其实Class类在自动化测试中是相当常用的,对于代码量增大时,类的结构化就充分体现出了它强大的优势,下面我们就来看一下类的组成部分以及一些用法。
初始化与终结化的应用
使用Class语句可以创建一个对象,可以为它编写字段、属性及方法,它只有两个对象事件——Initialize与Terminate。首先来看一个简单的Class示例:
|
1
2
3
4
5
6
7
8
9
10
11
|
Set MyUser = New UserClass User 'Initialize事件相当于构造函数 Private Sub Class_Initialize '当这个类被创建时执行 MsgBox "类开始"End Sub'Terminate事件相当于析构函数 Private Sub Class_Terminate '当类被销毁时执行 MsgBox "类结束" End SubEnd Class |
Get与Set的应用
Class里面使用Let语句,设置属性值、Get语句,获取属性值或对象引用。具体示例如下:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
Set MyUser = New UserMyUser.MyAge = "22" '设置对象的MyAge属性值MyUser.Myname = "Sirrah" '设置对象的Myname属性值MyUser.ToString '调用对象的ToString方法 Class User Private Str_Name '声明变量Str_Name Private Int_Age '声明变量Int_Age 'Property Get语句,获取属性值或对象引用,Default只与Public一起使用,表示该属性为类的默认属性 Public Property Get Myname Myname = Str_Name End Property Public Property Get MyAge MyAge = Int_Age End Property 'Property Let语句,设置属性值 Public Property Let Myname(New_Name) Str_Name = New_Name End Property Public Property Let MyAge(New_Age) Int_Age = new_age End Property '类方法 Public Sub ToString() MsgBox "姓名:"+Me.Myname+" 年龄:"+Me.MyAge 'Me相当于Java里面的This End SubEnd Class |
如何调用对象
用VBScript创建的对象并不是真正的面向对象,它不能继承和实现多态,但是在QTP对象模型Utility中,提供了一个RegisterUserFunc方法可以覆写对象的方法,但这也不是真正意义上的面向对象。Class及其成员如何创建,上面已经简单介绍过,若要对其中的一些语句进一步了解,还需要去仔细阅读一些参考文档。下面我们来看看如何调用对象:
|
1
2
3
4
|
Dim MyUser '定义对象变量名,注意变量名不能与类名相同,即使是大小写不同Set MyUser = New User '创建对象用New语句MyUser.UserName = "Sirrah" '给属性赋值MyUser.ToString() '调用方法 |
VBS基础篇 - 对象(1) - Class对象的更多相关文章
- VBS基础篇 - 对象(3) - FileSystemObject对象
VBS基础篇 - 对象(3) - FileSystemObject对象 文件系统是所有操作系统最重要的部分之一,脚本经常会需要对文件及文件夹进行访问和管理,在Vbs中对桌面和文件系统进行访问的顶级 ...
- VBS基础篇 - 对象(5) - File对象
VBS基础篇 - 对象(5) - File对象 描述:提供对文件所有属性的访问,从FSO对象的GetFile方法获得. 使用File对象 要用File对象模型来编程必须先用FileS ...
- VBS基础篇 - 对象(7) - TextStream对象
VBS基础篇 - 对象(7) - TextStream对象 TextStream对象是用于访问文本文件的对象,它是FileSystemObject一个独立的附属对象,但在使用TextStream对 ...
- VBS基础篇 - 对象(6) - Folder对象
VBS基础篇 - 对象(6) - Folder对象 描述:提供对文件所有属性的访问,从FSO对象的GetFile方法获得 使用Folder对象 要用Folder对象模型来编程必须先用FSO对象的G ...
- Python(四)基础篇之「文件对象&错误处理」
[笔记]Python(四)基础篇之「文件对象&错误处理」 2016-12-08 ZOE 编程之魅 Python Notes: ★ 如果你是第一次阅读,推荐先浏览:[重要公告]文章更新. ...
- VBS基础篇 - 循环语句(4) - For Each...Next
VBS基础篇 - 循环语句(4) - For Each...Next For Each...Next 循环与 For...Next 循环类似.For Each...Next 不是将语句运行指定的次 ...
- VBS基础篇 - 杂项 - Sendkeys
VBS基础篇 - 杂项 - Sendkeys 模拟键盘操作,将一个或多个按键指令发送到指定Windows窗口来控制应用程序运行 其使用格式为:object.SendKeys(string) obj ...
- VBS基础篇 - 过程(sub 与 Function)
VBS基础篇 - 过程(sub 与 Function) 在VBscript中,有两种procedure:Sub procedure与Function procedure Sub过程:是包含在 Sub ...
- VBS基础篇 - 循环语句(3) - For...Next
VBS基础篇 - 循环语句(3) - For...Next 指定循环次数,使用计数器重复运行语句,语法结构如下: 1 2 3 4 5 For counter = start To end [Ste ...
随机推荐
- mysql安装和基本配置-redhat
1.redhat yum替换参考 url:http://blog.csdn.net/zcyhappy1314/article/details/17580943 2.yum卸载mysql rpm -qa ...
- Python学习之旅--第二周--元组、字符串、运算、字典
一.元组 另一种有序列表叫元组:tuple.tuple和list非常类似,但是tuple一旦初始化就不能修改,比如同样是列出同学的名字: # Author:Tim Gu tuple = (" ...
- es6--(三)set和map数据结构
1.Set和WeakSet Set与数组相似,但是Set结构的成员必须是唯一的. WeakSet与对象类型,但是WeakSet结构的成员只能是对象 Set结构的实例属性和方法 属性: Set.prot ...
- springMVC servlet 静态资源加载
问题描述 新手使用SpringMVC时市场会遇到静态资源无法加载在问题,如下图所示 问题原因 出现这种问题一般是在web.xml中的对spring的DispatcherServlet采用了如下配置,即 ...
- javascript Navigator对象
0.Navigator 对象包含有关浏览器的信息,通常用于检测浏览器与操作系统的版本. 1.对象属性 2. var browser=navigator.appName; var b_version=n ...
- MVC学习笔记--IEnumerable的用法
IEnumerable的用法 IEnumerable和IEnumerable<T>接口在.NET中是非常重要的接口,它允许开发人员定义foreach语句功能的实现 并支持非泛型方法的简单的 ...
- 分布式版本控制系统Git-----1.Git 初识
开始工作咯,师傅让我开始学习Git.刚接触我是懵逼的,"分布式版本控制系统"啥玩意啊这是,大家可不能从字面意思上理解啊,刚开始,版本控制么,我以为是团队合作的时候把开发工具.JDK ...
- Linux下安装vnstat流量统计
1. 下载安装 cd /data/software wget http://humdi.net/vnstat/vnstat-1.11.tar.gz tar zxf vnstat-1.11.tar.gz ...
- 《JS权威指南学习总结--6.2属性的查询和设置》
内容要点: 一.数组元素通过字符串索引而不是数字索引,这种数组就是我们所说的关联数组,也称散列.映射或字典. 二.继承 1.JS对象具有"自有属性",也有一些属性是从原型对象继承而 ...
- Java Object 构造方法的执行顺序
Java Object 构造方法的执行顺序 @author ixenos 为了使用类而做的准备工作包括三个步骤 1)加载:类加载器查找字节码(一般在classpath中找),从字节码创建一个Class ...