vbs學習,書籍,看書筆記(4.1) 類基本語法,類的事件

導航:

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章