中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

如何在VBS中使用vbscriptclass類-創(chuàng)新互聯(lián)

本篇文章給大家分享的是有關(guān)如何在VBS中使用vbscript class類,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),巴宜企業(yè)網(wǎng)站建設(shè),巴宜品牌網(wǎng)站建設(shè),網(wǎng)站定制,巴宜網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,巴宜網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

Class 語句:聲明一個(gè)類的名稱,以及組成該類的變量、屬性和方法的定義。

vbs類的使用方法

   類的結(jié)構(gòu):

   class 類名稱
 
   end class

   調(diào)用方法set myclass=new類名稱
   中間類里面的代碼,
 
   類模塊的事件過程。

Private Sub Class_Initialize()
這里寫上類實(shí)例化的時(shí)候執(zhí)行的代碼。
end sub 

Private Sub class_terminate()
這里是類注銷的時(shí)候自動(dòng)執(zhí)行的代碼,
end Sub

上面兩個(gè)子程序的名稱是規(guī)定的,如果改了名稱,就會(huì)無效。
1、變量
2、函數(shù)(Function)
3、屬性(Property)
4、方法 (SUB)

一、對(duì)象的訪問限制,分為公有和私有,公有的(public)可以讓外部訪問,私有的(Private )外部不能訪問,上面幾種角色都可以定義為公有或私有。

定義變量
public mystr,mystring
這樣就定義了兩個(gè)公有的變量,調(diào)用方法myclass.mystr
反之
Private mystr,mystring
則為私有的變量,外部不能訪問的。

函數(shù)

Public Function Checkstr(Str)
If Isnull(Str) Then
  CheckStr = ""
  Exit Function 
End If
CheckStr = Replace(Str,"'","''")

End Function

這是一個(gè)公有函數(shù),外部可以訪問的,調(diào)用方法 myclass.Checkstr(Str)
反之如果為私有的,則用Private 取代public

3、屬性(Property)

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

也可以為公有或私有,現(xiàn)在以公有為例子。
這是一個(gè)只寫的屬性

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
這是一個(gè)只讀的屬性
Public Property Get TodayNum
TodayNum = Application(Forum_sn & "_Dv_setup")(9,0)
End Property

如果要有讀寫的屬性那么


Public Property Get TodayNum
TodayNum = Application(Forum_sn & "_Dv_setup")(9,0)
End Property
Public Property Let TodayNum(ByVal vNewValue)
TodayNum = vNewValue
End Property

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

方法,也以公有為例,


Public Sub TrueCheckUserLogin()
代碼
end sub

以下為一個(gè)簡單的類的的例子:


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 中的類組織開發(fā)

當(dāng)在一個(gè)機(jī)構(gòu)內(nèi)部創(chuàng)建Web應(yīng)用程序時(shí),有時(shí)候你會(huì)發(fā)現(xiàn)你自己從一個(gè)應(yīng)用程序中復(fù)制和粘貼相同的代碼到其它的應(yīng)用程序中。如果你能夠固化所有這些過程到一個(gè)好用的小包(package)中,其后你就可以在整個(gè)域中使用它了,這樣會(huì)方便很多。

同 時(shí),如果你有一個(gè)重復(fù)使用的過程,創(chuàng)建一個(gè)類包含你的過程可能會(huì)比較有用。使用類組織你的代碼有一些優(yōu)點(diǎn):它使得你的代碼容易閱讀和調(diào)試;你可以將你的類 輕松的移值到一個(gè)Web服務(wù)中;你為其它開發(fā)人員提供一個(gè)抽象工具(從而節(jié)省了時(shí)間和資金);同時(shí)在一個(gè)項(xiàng)目的開發(fā)階段你還保留了靈活性。

當(dāng) 把你的通用過程組織到一個(gè)類的時(shí)候,你創(chuàng)建一級(jí)抽象,允許你在幾乎所有代碼中實(shí)現(xiàn)這些過程。例如,假設(shè)在你創(chuàng)建的每個(gè)Web應(yīng)用程序中,你者需要初始化用 戶信息。這個(gè)初始化過程包括在用戶登錄到你的應(yīng)用程序時(shí)根據(jù)用戶憑證所做的一些數(shù)據(jù)庫服務(wù)器連接。如果你在每個(gè)應(yīng)用程序中都需要完成這個(gè)任務(wù)的話,那么將 你的代碼固化到一個(gè)類中相當(dāng)有意義。

下面是實(shí)現(xiàn)方法:

Dim MyToolbox
Set MyToolbox = New CToolbox
Response.Write "UserName: " & MyToolbox.UserName & "<BR>" & vbCrLf
Response.Write "UserPhone: " &  MyToolbox.UserPhone & "<BR>" & 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 屬性在類初始化之后就會(huì)有值。你可以將這個(gè)類的代碼放到 ASP 代碼的最后。然后在其余 的代碼中其功能就可以在使用,不用實(shí)例化ADO對(duì)象,進(jìn)行數(shù)據(jù)庫調(diào)用和之后的清理。而且,如果你使用的是 Microsoft Visual InterDev,那么類中定義的屬性和方法可以通過智能感知(IntelliSense)使用。

智能感知只對(duì)一級(jí)屬性和方法有效,所以如果你創(chuàng)建一個(gè)類返回其它 ASP 類的對(duì)象,那么 InterDev 就不會(huì)提供可用的方法和屬性。

下面的代碼是一個(gè)類的骨架:

Class MyClass

Private Sub Class_Initialize()
End Sub

Private Sub Class_Terminate()
End Sub

End Class

使用這個(gè)基本信息,一個(gè)類被聲明,并且可以使用它來創(chuàng)建對(duì)象。但是這個(gè)類的對(duì)象沒有功能——它們是無用的東西。類的方法從 Public Sub 或者 Public Function 聲明構(gòu)建(Subs 沒有返回值,而 Function 有返回值)。

有 兩個(gè)方法可以暴露屬性:既可以在類的全局上下文中使用 Public VarName,也可以使用 Public Property Get/Set/Let。如果你需要一個(gè)只讀屬性,那么只要簡單地使用一個(gè) Property Get 聲明即可。所 有其它聲明為 Private 的 Properties,Subs 或者 Functions 只有在實(shí)例化的對(duì)象才可用。在類的全局上下文中聲明為 Private 的變量是成員變量。

創(chuàng)建類的另外一個(gè)好處是你可以輕易的將這個(gè)類聲明移值到 Web 服務(wù)中。因?yàn)檫@是很多開發(fā)人員前 進(jìn)的方向,你可以通過使用類創(chuàng)建面向?qū)ο蟮拇a先行一步。當(dāng)你移值這些類聲明到一個(gè) Web 服務(wù)時(shí),你不需要重寫所有的放置了那段代碼的ASP代碼。所 要做的的改變就是你的對(duì)象的實(shí)例化。

我發(fā)現(xiàn)創(chuàng)建這個(gè)抽象的較大的優(yōu)點(diǎn)是可以使用其它 Web 開發(fā)者的幫助。因?yàn)閷?duì)于很多開發(fā)人員來 說在每個(gè)不同的實(shí)現(xiàn)中重復(fù)創(chuàng)建相同的代碼效率相當(dāng)?shù)?,所以這個(gè)方法為每個(gè)開發(fā)人員提供了一個(gè)抽象工具。這就允許每個(gè)開發(fā)人員將精力更多地集中在當(dāng)前工作的 功能上面,而不是花費(fèi)時(shí)間重寫他們已經(jīng)開發(fā)過的代碼上面。

如果你奇怪為什么我不提供一個(gè)COM對(duì)象來處理這個(gè)功能,那是因?yàn)樗鼤?huì)把你鎖定 到細(xì)節(jié)設(shè)計(jì)中。通過在 ASP 中動(dòng)態(tài)地創(chuàng)建類,你可以不用重新編譯和發(fā)布就能夠?qū)︻愖龀龈?。在類固定之后,再將它移值?COM、Windows 腳 本組件(WSC)或者一個(gè) Web 服務(wù)中,但是在開發(fā)階段還是靈活一些好。

以下是補(bǔ)充資料

Class name '參數(shù)name必選項(xiàng),Class 的名稱
  statements '一個(gè)或多個(gè)語句,定義了 Class 的變量、屬性和方法
End Class

初始化與終結(jié)化的應(yīng)用

使用Class語句可以創(chuàng)建一個(gè)對(duì)象,可以為它編寫字段、屬性及方法,它只有兩個(gè)對(duì)象事件——Initialize與Terminate。

Class TestClass
  Private Sub Class_Initialize  ' 設(shè)置 Initialize 事件,相當(dāng)于構(gòu)造函數(shù)
    MsgBox("TestClass started")
  End Sub
  Private Sub Class_Terminate  ' 設(shè)置 Terminate 事件,相當(dāng)于析構(gòu)函數(shù)
    MsgBox("TestClass terminated")
  End Sub
End Class

Set X = New TestClass  ' 創(chuàng)建一個(gè) TestClass 實(shí)例
Set X = Nothing   ' 刪除實(shí)例

a.類的事件方法格式是固定的,事件名是固定的,事件只能是Sub不能是Function,事件無參數(shù);
b.類實(shí)例通過New來創(chuàng)建,通過Nothing來銷毀;
c.記住所有的類實(shí)例都是對(duì)象,創(chuàng)建與銷毀時(shí)記得用Set語句,沒有Set是錯(cuò)的。

類可以有公有(Public)和私有(Private)字段:
(1)公有的字段可以外部訪問,私有的不能:
(2)可以定義數(shù)組字段,且此數(shù)組字段可以是動(dòng)態(tài)數(shù)組

類可以有公有或者私有的屬性:
(1)公有的屬性可以外部調(diào)用,私有的屬性不能
(2)用Property Get定義讀屬性,用Property Set和Property Let來定義寫屬性
(3)當(dāng)定義寫屬性時(shí),如果此屬性封裝的是對(duì)象字段,則此寫屬性必須是Property Set
(4)屬性不必是成對(duì)出現(xiàn),這樣就可以造成只讀或只寫屬性,當(dāng)然Private任意一方也可以造成這種情況

Set MyUser = New User
MyUser.MyAge = "22" '設(shè)置對(duì)象的MyAge屬性值
MyUser.Myname = "john" '設(shè)置對(duì)象的Myname屬性值
MyUser.ToString '調(diào)用對(duì)象的ToString方法
 
Class User
  Private Str_Name '聲明變量Str_Name
  Private Int_Age '聲明變量Int_Age
 
  'Property Get語句,獲取屬性值或?qū)ο笠?,Default只與Public一起使用,表示該屬性為類的默認(rèn)屬性
  Public Property Get Myname
    Myname = Str_Name
  End Property 
 
  Public Property Get MyAge
    MyAge = Int_Age
  End Property
 
  'Property Let語句,設(shè)置屬性值
  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 "姓名:"+Myname+" 年齡:"+MyAge
  End Sub
 
End Class

以上就是如何在VBS中使用vbscript class類,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

當(dāng)前標(biāo)題:如何在VBS中使用vbscriptclass類-創(chuàng)新互聯(lián)
分享鏈接:http://www.rwnh.cn/article2/cegcoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、品牌網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站建設(shè)、App設(shè)計(jì)網(wǎng)站排名、標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)
堆龙德庆县| 彰化县| 江北区| 陆河县| 平泉县| 抚顺市| 连城县| 临洮县| 郯城县| 鸡西市| 汉川市| 娄底市| 宁津县| 阳高县| 大安市| 江山市| 两当县| 太康县| 谢通门县| 涿州市| 澄江县| 如东县| 长葛市| 勐海县| 石楼县| 手游| 社会| 阳高县| 西昌市| 长乐市| 冀州市| 桂林市| 正定县| 衡南县| 抚顺市| 武功县| 八宿县| 湘乡市| 曲沃县| 手游| 阳朔县|