vbs類的使用方法

2021-06-15 21:39:27 字數 4887 閱讀 8247

vbs類的使用方法

類的結構:

class 類名稱

end class

呼叫方法 set myclass=new 類名稱

中間類裡面的**,

類模組的事件過程。

private sub class_initialize()

這裡寫上類例項化的時候執行的**。

end sub 

private sub class_terminate()

這裡是類登出的時候自動執行的**,

end sub

上面兩個子程式的名稱是規定的,

如果改了名稱,就會無效。

1、變數

2、函式(function)

3、屬性(property)

4、方法 (sub)

一、物件的訪問限制,分為公有和私有,公有的(public)可以讓外部訪問,私有的(private )外部不能訪問,

上面幾種角色都可以定義為公有或私有。

定義變數

public mystr,mystring

這樣就定義了兩個公有的變數,呼叫方法myclass.mystr

反之private mystr,mystring

則為私有的變數,外部不能訪問的。

函式public function checkstr(str)

if isnull(str) then

checkstr = ""

exit function 

end if

checkstr = replace(str,"'","''")

end function

這是乙個公有函式,外部可以訪問的,呼叫方法 myclass.checkstr(str)

反之如果為私有的,則用private 取代public

3、屬性(property)

屬性分兩種,一種是只寫屬性,一種是唯讀屬性。

也可以為公有或私有,現在以公有為例子。

這是乙個只寫的屬性

public property let value(byval vnewvalue)

dim tmpstr

tmpstr = vnewvalue

tmpstr = split(tmpstr,"@@@")

html = split(tmpstr(0),"|||")

strings = split(tmpstr(1),"|||")

pic = split(tmpstr(2),"|||")

end property

這是乙個唯讀的屬性

public property get todaynum

end property

如果要有讀寫的屬性那麼

public property get todaynum

end property

public property let todaynum(byval vnewvalue)

todaynum = vnewvalue

end property

這樣寫todaynum就具有讀寫的屬性了,

方法,也以公有為例,

public sub truecheckuserlogin()

**end sub

以下為乙個簡單的類的的例子:

class cls_templates

public html,strings,pic

private sub class_initialize()

end sub 

private sub class_terminate()

end sub

public property let value(byval vnewvalue)

dim tmpstr

tmpstr = vnewvalue

tmpstr = split(tmpstr,"@@@")

html = split(tmpstr(0),"|||")

strings = split(tmpstr(1),"|||")

pic = split(tmpstr(2),"|||")

end property

end class

使用vbscript 中的類組織開發 

當在乙個機構內部建立web應用程式時,有時候你會發現你自己從乙個應用程式中複製和貼上相同的**到其它的應用程式中。如果你能夠固化所有這些過程到乙個好用的小包(package)中,其後你就可以在整個域中使用它了,這樣會方便很多。

當 把你的通用過程組織到乙個類的時候,你建立一級抽象,允許你在幾乎所有**中實現這些過程。例如,假設在你建立的每個web應用程式中,你者需要初始化用 戶資訊。這個初始化過程包括在使用者登入到你的應用程式時根據使用者憑證所做的一些資料庫伺服器連線。如果你在每個應用程式中都需要完成這個任務的話,那麼將 你的**固化到乙個類中相當有意義。

下面是實現方法:

dim mytoolbox

set mytoolbox = new ctoolbox

response.write "username: " & mytoolbox.username & "

" & vbcrlf

response.write "userphone: " &  mytoolbox.userphone & "

" & vbcrlf

set mytoolbox = nothing

class ctoolbox

private m_conn, m_rs

private m_username, m_userphone

public property get username()

username = m_username

end property

public property get userphone()

userphone = m_userphone

end property

private sub class_initialize()

set m_conn = server.createobject("adodb.connection")

m_conn.connectionstring = "some connection string"

m_conn.open

set m_rs = server.createobject("adodb.recordset")

set m_rs.activeconnection = m_conn

m_rs.open "select * from users where userid = '" &

request.servervariables("logon_user") & "'"

if not m_rs.eof then

m_username = m_rs.fields("username")

m_userphone = m_rs.fields("userphone")

end if

end sub

private sub class_terminate()

on error resume next

m_rs.close

set m_rs = nothing

m_conn.close

set m_conn = nothing

end sub

end class 

從 例子中你可以看到,username 和 userphone 屬性在類初始化之後就會有值。你可以將這個類的**放到 asp **的最後。然後在其餘 的**中其功能就可以在使用,不用例項化ado物件,進行資料庫呼叫和之後的清理。而且,如果你使用的是  microsoft visual interdev,那麼類中定義的屬性和方法可以通過智慧型感知(intellisense)使用。

智慧型感知只對一級屬性和方法有效,所以如果你建立乙個類返回其它 asp 類的物件,那麼 interdev 就不會提供可用的方法和屬性。

下面的**是乙個類的骨架:

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 服務中,但是在開發階段還是靈活一些好。 

常用類的使用方法

常用類的使用方法 nterger 整數型別 屬性。system.out.println integer.max value integer.max value 結果為 integer.max value 2147483647 建構函式。integer i new integer 1234 生成了乙個...

FindTask類使用方法

findtask類特點 支援多圖層查詢 支援字段查詢 只能進行屬性查詢,不能進行空間查詢 不能指定返回字段,只能返回 displayfieldname string,feature graphic,foundfieldname string,layerid number,layername stri...

PDOMySQLDriver類使用方法

這裡向大家介紹一下這位自我說明 早在2015年我就開始寫這個php類庫了,平時在工作中,將一些好的想法,一些問題的解決方法等融合進來,歷時兩年多,經過不斷的實踐,我感覺它已經很成熟了,於是它來到了你面前!查詢資料 查詢id為5的那行資料的年齡資訊 age pdo mapfield t person ...