婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > ASP 類專題

ASP 類專題

熱門標(biāo)簽:修改地圖標(biāo)注 外呼系統(tǒng)API接口 鳳臺(tái)百度地圖標(biāo)注店 萊西電子地圖標(biāo)注 個(gè)人可以辦理400電話么 金昌電話機(jī)器人價(jià)格 怎么在地圖標(biāo)注自己 縣域地圖標(biāo)注打印店 武夷山旅游地圖標(biāo)注
嚴(yán)格地說(shuō),ASP 并不是一門編程語(yǔ)言,所以不存在類這一概念,我們這里說(shuō) ASP 類是指 ASP 的編程語(yǔ)言 VBScript 在 ASP 里應(yīng)用時(shí)的類。
ASP 類比較簡(jiǎn)單,它不具有真正意義類的繼承、重載等特性,盡管如此,它仍然是非常有用的,它降低了我們編程的復(fù)雜度,使我們的程序模塊更加合理。
ASP 類支持什么 ASP 類比較簡(jiǎn)單,它不具有真正意義類的繼承、重載等特性。它支持以下內(nèi)容: 
公有成員變量、私有成員變量、屬性 
公有成員函數(shù)、私有成員函數(shù) 
構(gòu)造函數(shù)、析構(gòu)函數(shù) 
創(chuàng)建和使用一個(gè)最簡(jiǎn)單的 ASP 類 一些初學(xué)者不理解類和對(duì)象的區(qū)別,打個(gè)比方,類好比是圖紙,對(duì)象好比是根據(jù)圖紙制作出的實(shí)物。 該示例給出了 ASP 類及對(duì)象的簡(jiǎn)單示例,該類僅含有一個(gè)成員函數(shù),用以解釋類的基本格式,并給出創(chuàng)建、釋放對(duì)象的方法。 詳細(xì)內(nèi)容 ASP 類成員變量、成員函數(shù)、構(gòu)造析構(gòu)函數(shù) 這是一個(gè)比較完整的類講解,所有的講解都有注釋的方式寫在程序的旁邊。 通過(guò)閱讀本節(jié),對(duì) ASP 類有一個(gè)較為全面的理解,可以進(jìn)行 ASP 類模塊的開發(fā)。 詳細(xì)內(nèi)容 ASP 類屬性 ASP 類屬性與 ASP 類公有成員變量相比具有以下一些特點(diǎn)。 
可以在賦值的同時(shí)執(zhí)行其它功能 
可以確定賦值范圍 
可以將設(shè)定只讀、只寫屬性 
所以 ASP 類屬性也是比較常用且重要的。 詳細(xì)內(nèi)容 ASP 類組合 ASP 類的功能實(shí)在有限,所以有時(shí)我們要實(shí)現(xiàn)復(fù)雜的功能,只好用組合來(lái)實(shí)現(xiàn)。 
創(chuàng)建一個(gè)最簡(jiǎn)單的 ASP 類
class CFoo
    sub PrintHello()
        response.Write "Hello World!"
    end sub
end class

可以看出,ASP 類的基本結(jié)構(gòu)是:
class 類名
    類代碼
end class

使用一個(gè)最簡(jiǎn)單的 ASP 類
dim obj
set obj = new CFoo '使用 set new 創(chuàng)建對(duì)象,由于不是服務(wù)器組件,所以不能用 server.CreateObject 創(chuàng)建
call obj.PrintHello '對(duì)象名稱后加點(diǎn),再跟成員變量、屬性或函數(shù),表示調(diào)用該對(duì)象的成員變量、屬性或函數(shù),將顯示 Hello World!
set obj = nothing '釋放對(duì)象

ASP 類里不能重載構(gòu)造函數(shù),所以我們不能使用類似于 set obj = new CFoo("param") 的語(yǔ)句來(lái)創(chuàng)建類。
ASP 類的功能實(shí)在有限,所以有時(shí)我們要實(shí)現(xiàn)復(fù)雜的功能,只好用組合來(lái)實(shí)現(xiàn)。
class CFish
    sub Swim()
    end sub
end class
class CBird
    sub Fly()
    end sub
end class
class CAnimal
    dim fish
    dim bird
    private sub class_initialize()
        set fish = new CFish
        set bird = new CBird
    end sub

    private sub class_terminate()
        set fish = nothing
        set bird = nothing
    end sub
end class
dim animal
set animal = new CAnimal
call animal.fish.Swim() '魚游
call animal.bird.Fly() '鳥飛
set animal = nothing
ASP 類屬性
class CFoo
    private pvt

    '屬性寫
    public property let propName(v)
        pvt = v
    end property

    '屬性讀
    public property get propName()
        PropName = pvt
    end property
end class

dim obj
set obj = new CFoo
obj.propName = "屬性值"
response.Write(obj.propName) '顯示“屬性值”
set obj = nothing

可以看出屬性值相當(dāng)于是在私有成員變量與外界之間架了一座橋梁,使雙方可以互相通信。
有人就會(huì)問(wèn)屬性跟公有成員變量一樣,它的存在又有什么獨(dú)立的意義呢?
1、可以在賦值的同時(shí)執(zhí)行其它功能
如下代碼,相當(dāng)于同時(shí)為兩個(gè)成員變量賦值
    public property let propName(v)
        pvt = v
        另一個(gè)私有成員變量名 = "pvt 的值:"  v
    end property
2、可以確定賦值范圍
假如上例中的屬性寫改為如下:
    public property let propName(v)
        if Len(v) = 5 then
            pvt = v
        end if
    end property
執(zhí)行 obj.propName = "個(gè)十百千萬(wàn)億" 將不會(huì)為 pvt 賦值成功,因?yàn)樵撟址拈L(zhǎng)度超過(guò)了 5。
3、可以將設(shè)定只讀、只寫屬性
如上例中,假如我們將 let 函數(shù)去掉,調(diào)用 obj.propName = "屬性值" 就會(huì)出錯(cuò),因?yàn)檫@時(shí)候函數(shù)只可讀。
class CFoo
    dim publicParam '用 dim 申明公有成員變量
    private privateParam '用 private 申明私有成員變量
    'publicParam = "公有" '不能在 class 標(biāo)記以內(nèi)、類函數(shù)以外為成員變量賦值
    'const MAX_LEN = 5 '不能在 class 標(biāo)記以內(nèi)、類函數(shù)以外使用 const

    '該函數(shù)為構(gòu)造函數(shù),在使用 set new 創(chuàng)建對(duì)象時(shí),自動(dòng)執(zhí)行
    private sub class_initialize()
        publicParam = "公有" '可以在這里為成員變量賦值
        privateParam = "私有"
    end sub

    '該函數(shù)為析構(gòu)函數(shù),在使用 set nothing 釋放對(duì)象時(shí),自動(dòng)執(zhí)行
    private sub class_terminate()
        response.Write "釋放對(duì)象"
    end sub

    '公有成員函數(shù)(過(guò)程)
    '成員函數(shù)(過(guò)程)不需要也不能申明
    sub PrintParam(index)
        if index = 1 then
            call PrintPublicParam()
        elseif index = 2 then
            call PrintPrivateParam()
        end if
    end sub

    '私有成員函數(shù)(過(guò)程)
    '只是比公有成員函數(shù)(過(guò)程)多一個(gè) private
    private sub PrintPublicParam()
        response.Write publicParam
    end sub

    private sub PrintPrivateParam()
        response.Write privateParam
    end sub
end class

dim obj
set obj = new CFoo '自動(dòng)調(diào)用 class_initialize 函數(shù),為 publicParam、privateParam 賦值
obj.publicParam = "新的公有"
obj.privateParam = "新的私有" '將發(fā)生錯(cuò)誤,因?yàn)?nbsp;privateParam 是私有變量
call obj.PrintParam(1) '顯示 publicParam 的值
call obj.PrintPublicParam() '將發(fā)生錯(cuò)誤,因?yàn)?nbsp;PrintPublicParam 是私有函數(shù)
set obj = nothing '自動(dòng)調(diào)用 class_terminate 函數(shù),顯示“釋放對(duì)象”

標(biāo)簽:南京 通遼 上海 邢臺(tái) 楚雄 赤峰 清遠(yuǎn) 涼山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP 類專題》,本文關(guān)鍵詞  ASP,類,專題,ASP,類,專題,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ASP 類專題》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于ASP 類專題的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 叶城县| 河南省| 新民市| 信阳市| 苍溪县| 黄龙县| 太谷县| 昆山市| 木兰县| 察雅县| 清水县| 兴业县| 嫩江县| 南木林县| 涡阳县| 浮山县| 商河县| 绿春县| 新龙县| 来宾市| 荆门市| 聂拉木县| 藁城市| 霞浦县| 天长市| 五河县| 招远市| 肥乡县| 清水县| 南丰县| 米脂县| 德庆县| 长阳| 韩城市| 微博| 辉县市| 新安县| 大关县| 班戈县| 水富县| 衡东县|