人人爽天天爽夜夜爽qc-人人爽天天爽夜夜爽曰-人人天天爱天天做天天摸-人人天天夜夜-色网站在线-色网站在线看

您現(xiàn)在的位置:程序化交易>> 期貨公式>> 金字塔等>> 金字塔知識(shí)>>正文內(nèi)容

VBS里能夠定義類呢? [金字塔]

  • 咨詢內(nèi)容:

    因?yàn)橐鏊惴?,因此定義一個(gè)類或者對(duì)象更加有利于編程,主要是屬性,方法等都容易處理。

    能聲明Class{}嗎?

     

  • 金字塔客服: 可以,在“模塊”上點(diǎn)擊右鍵,建立“類模塊”

     

  • 用戶回復(fù): 在類模塊里如何定義類呢?請(qǐng)舉例說(shuō)明一下?

     

  • 網(wǎng)友回復(fù): vbs類的使用方法 2009-10-23 09:49:14  www.hackbase.com  來(lái)源:myvbscript vbs類的使用方法 類的結(jié)構(gòu): class 類名稱 end class 調(diào)用方法 set myclass=new 類名稱 中間類里面的代碼, 類模塊的事件過(guò)程。Private Sub Class_Initialize()這里寫上類實(shí)例化的時(shí)候執(zhí)行的代碼 ... vbs類的使用方法
       類的結(jié)構(gòu):
       class 類名稱
      
       end class
       調(diào)用方法 set myclass=new 類名稱
       中間類里面的代碼,
      
       類模塊的事件過(guò)程。
    Private Sub Class_Initialize()
    這里寫上類實(shí)例化的時(shí)候執(zhí)行的代碼。
    end sub
    Private Sub class_terminate()
    這里是類注銷的時(shí)候自動(dòng)執(zhí)行的代碼,
    end Sub
    上面兩個(gè)子程序的名稱是規(guī)定的,
    如果改了名稱,就會(huì)無(wú)效。
    1、變量
    2、函數(shù)(Function)
    3、屬性(Property)
    4、方法 (SUB)

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

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

    函數(shù)

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

    End Function
    這是一個(gè)公有函數(shù),外部可以訪問(wèn)的,調(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è)簡(jiǎn)單的類的的例子:
    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 中的類組織開(kāi)發(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)用程序中。如果你能夠固化所有這些過(guò)程到一個(gè)好用的小包(package)中,其后你就可以在整個(gè)域中使用它了,這樣會(huì)方便很多。

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

    當(dāng) 把你的通用過(guò)程組織到一個(gè)類的時(shí)候,你創(chuàng)建一級(jí)抽象,允許你在幾乎所有代碼中實(shí)現(xiàn)這些過(guò)程。例如,假設(shè)在你創(chuàng)建的每個(gè)Web應(yīng)用程序中,你者需要初始化用 戶信息。這個(gè)初始化過(guò)程包括在用戶登錄到你的應(yīng)用程序時(shí)根據(jù)用戶憑證所做的一些數(shù)據(jù)庫(kù)服務(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.C
         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ù)庫(kù)調(diào)用和之后的清理。而且,如果你使用的是 Microsoft Visual InterDev,那么類中定義的屬性和方法可以通過(guò)智能感知(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è)類被聲明,并且可以使用它來(lái)創(chuàng)建對(duì)象。但是這個(gè)類的對(duì)象沒(méi)有功能——它們是無(wú)用的東西。類的方法從 Public Sub 或者 Public Function 聲明構(gòu)建(Subs 沒(méi)有返回值,而 Function 有返回值)。

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

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

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

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

 

有思路,想編寫各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友

可聯(lián)系技術(shù)人員 QQ: 1145508240  有需要幫忙請(qǐng)點(diǎn)擊這里留言?。?!進(jìn)行 有償 編寫!不貴!點(diǎn)擊查看價(jià)格!


【字體: 】【打印文章】【查看評(píng)論

相關(guān)文章

    沒(méi)有相關(guān)內(nèi)容
主站蜘蛛池模板: 免费网站看v片在线成人国产系列 | 6080私人午夜性爽快影院 | 丝袜美腿极品老师系列集合 | 黄 色 三 级 网站 | 国产伦精品一区三区视频 | 爱呦视频在线播放网址 | 最新欧美精品一区二区三区 | 最近的2019免费中文字幕 | 国产婷婷一区二区三区 | 国产精品视频免费一区二区三区 | 一级a性色生活片久久毛片 一级a美女毛片 | 在线 亚洲 欧美 | 日韩在线一区二区三区免费视频 | 国产精品视频福利一区二区 | 中国护士一级毛片免费版本 | 国内视频在线 | 精品国产一区二区麻豆 | 欧美一级看片免费观看视频在线 | 国产成人精品免费视频大全办公室 | 久久美女性网 | 狠狠色噜噜狠狠狠合久 | 99国产成人高清在线视频 | 国产亚洲免费观看 | www.色偷偷.com| 中文字幕第38页永久乱码 | 免费人成在线观看 | 网址在线观看你懂的 | 久草色视频 | 欧美成人亚洲综合精品欧美激情 | 波多野结衣中文字幕在线播放 | 久99久热| 一女np男h高h | 欧美操操 | 国产日韩精品欧美一区喷水 | 午夜在线看 | 成人午夜在线播放 | 成人永久福利在线观看不卡 | 97免费视频在线观看 | 色天天综合色天天看 | 欧美亚洲另类在线 | 99热久这里都是精品小草 |