导航:
1.类的基本语法
2.类的事件
——————————————————————————————————————
1.类的基本语法
语法:
class
…
end class
Property Let、Property Get、Property Set
let与set其实都是接收类外放进来的信息,let接收的是值,set接收的是对象
Get是向外部传参数,有返回值也是有两种值与对象
见例子:
option explicit class Custnam private mystrname public Property Let Custername(strname) '通常由类外给类内的私有属性赋值,不是对象 mystrname = strname end Property public Property Get Custername() 'get通常返回私有属性变量的值 '1.返回常量 Custername = mystrname '这是返回普通属性也就相当于文字常量 '2.返回对象(2种建议第一种明确) set Custername = mystrname '第一种:如果是返回是的对象时要加上set Custername = mystrname '第二种也可以直接等于但是不明确 end Property public Property Set Custername(strname) '与get相似只不过这个是接收外部传进来的对象 '也是有两种都可以 set mystrname = strname '或者mystrname = strname end Property end class
总结来说:无论是传出去或者是接收进来,都可以直接相等,但是为了规范更加明确是否是对象,所以要加set
创建对象,且将对象传入到类中
dim objfso dim objfilehelper set objfso = wscript.createobject("scripting.filesystemobject") set objfilehelper = new Custnam '创建类 set objfilehelper.Custername = objfso '在外部传入对象时也要使用set
小案例:(传入类中名字,再调用类中get进行输出)
option explicit dim Pername dim name name = inputbox("请输入您的姓名:") set Pername = new Custnam '创建类 Pername.Custername = name '传入姓名 msgbox Pername.Custername '打印出类中传出的姓名 class Custnam private mystrname public Property Let Custername(strname) '通常由类外给类内的私有属性赋值,不是对象 mystrname = strname msgbox "已传入类中姓名" end Property public Property Get Custername() 'get通常返回私有属性变量的值 Custername = mystrname end Property public Property Set Custername(strname) '与get相似只不过这个是接收外部传进来的对象 set mystrname = strname '或者mystrname = strname end Property end class
——————————————————————————————————————
2.类的事件
class_initialize事件:实际上就是当创建类的时候自动执行的过程,不能多于一个
class_terminate事件:实际上就是当类结束时执行的过程,用于释放对象
写一个小例子:(通过类创建对象,并且调用类打开app)
option explicit dim str set str = new creatnam '创建一个类 str.run_ap '运行其中的过程 class creatnam private m_name private sub Class_Initialize set m_name = wscript.createobject("wscript.shell") msgbox "创建对象成功" end sub public sub run_ap m_name.run """D:\Program Files (x86)\Tencent\QQ\Bin\QQScLauncher.exe""" end sub private sub class_terminate set m_name = nothing msgbox "释放对象" end sub end class
得到结果:在创建类的时候,创建对象以及释放对象同时进行,然后在打开app、