導航:
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、