ASP 類專題
嚴(yán)格地說,asp 并不是一門編程語言,所以不存在類這一概念,我們這里說 asp 類是指 asp 的編程語言 vbscript 在 asp 里應(yīng)用時的類。
asp 類比較簡單,它不具有真正意義類的繼承、重載等特性,盡管如此,它仍然是非常有用的,它降低了我們編程的復(fù)雜度,使我們的程序模塊更加合理。
asp 類支持什么 asp 類比較簡單,它不具有真正意義類的繼承、重載等特性。它支持以下內(nèi)容:
公有成員變量、私有成員變量、屬性
公有成員函數(shù)、私有成員函數(shù)
構(gòu)造函數(shù)、析構(gòu)函數(shù)
創(chuàng)建和使用一個最簡單的 asp 類 一些初學(xué)者不理解類和對象的區(qū)別,打個比方,類好比是圖紙,對象好比是根據(jù)圖紙制作出的實物。 該示例給出了 asp 類及對象的簡單示例,該類僅含有一個成員函數(shù),用以解釋類的基本格式,并給出創(chuàng)建、釋放對象的方法。 詳細(xì)內(nèi)容 asp 類成員變量、成員函數(shù)、構(gòu)造析構(gòu)函數(shù) 這是一個比較完整的類講解,所有的講解都有注釋的方式寫在程序的旁邊。 通過閱讀本節(jié),對 asp 類有一個較為全面的理解,可以進行 asp 類模塊的開發(fā)。 詳細(xì)內(nèi)容 asp 類屬性 asp 類屬性與 asp 類公有成員變量相比具有以下一些特點。
可以在賦值的同時執(zhí)行其它功能
可以確定賦值范圍
可以將設(shè)定只讀、只寫屬性
所以 asp 類屬性也是比較常用且重要的。 詳細(xì)內(nèi)容 asp 類組合 asp 類的功能實在有限,所以有時我們要實現(xiàn)復(fù)雜的功能,只好用組合來實現(xiàn)。
創(chuàng)建一個最簡單的 asp 類
使用一個最簡單的 asp 類
dim obj
set obj = new cfoo '使用 set new 創(chuàng)建對象,由于不是服務(wù)器組件,所以不能用 server.createobject 創(chuàng)建
call obj.printhello '對象名稱后加點,再跟成員變量、屬性或函數(shù),表示調(diào)用該對象的成員變量、屬性或函數(shù),將顯示 hello world!
set obj = nothing '釋放對象
asp 類里不能重載構(gòu)造函數(shù),所以我們不能使用類似于 set obj = new cfoo("param") 的語句來創(chuàng)建類。
asp 類的功能實在有限,所以有時我們要實現(xiàn)復(fù)雜的功能,只好用組合來實現(xiàn)。
asp 類屬性
可以看出屬性值相當(dāng)于是在私有成員變量與外界之間架了一座橋梁,使雙方可以互相通信。
有人就會問屬性跟公有成員變量一樣,它的存在又有什么獨立的意義呢?
1、可以在賦值的同時執(zhí)行其它功能
如下代碼,相當(dāng)于同時為兩個成員變量賦值
public property let propname(v)
pvt = v
另一個私有成員變量名 = "pvt 的值:" & v
end property
2、可以確定賦值范圍
假如上例中的屬性寫改為如下:
public property let propname(v)
if len(v) <= 5 then
pvt = v
end if
end property
執(zhí)行 obj.propname = "個十百千萬億" 將不會為 pvt 賦值成功,因為該字符串的長度超過了 5。
3、可以將設(shè)定只讀、只寫屬性
如上例中,假如我們將 let 函數(shù)去掉,調(diào)用 obj.propname = "屬性值" 就會出錯,因為這時候函數(shù)只可讀。
asp 類比較簡單,它不具有真正意義類的繼承、重載等特性,盡管如此,它仍然是非常有用的,它降低了我們編程的復(fù)雜度,使我們的程序模塊更加合理。
asp 類支持什么 asp 類比較簡單,它不具有真正意義類的繼承、重載等特性。它支持以下內(nèi)容:
公有成員變量、私有成員變量、屬性
公有成員函數(shù)、私有成員函數(shù)
構(gòu)造函數(shù)、析構(gòu)函數(shù)
創(chuàng)建和使用一個最簡單的 asp 類 一些初學(xué)者不理解類和對象的區(qū)別,打個比方,類好比是圖紙,對象好比是根據(jù)圖紙制作出的實物。 該示例給出了 asp 類及對象的簡單示例,該類僅含有一個成員函數(shù),用以解釋類的基本格式,并給出創(chuàng)建、釋放對象的方法。 詳細(xì)內(nèi)容 asp 類成員變量、成員函數(shù)、構(gòu)造析構(gòu)函數(shù) 這是一個比較完整的類講解,所有的講解都有注釋的方式寫在程序的旁邊。 通過閱讀本節(jié),對 asp 類有一個較為全面的理解,可以進行 asp 類模塊的開發(fā)。 詳細(xì)內(nèi)容 asp 類屬性 asp 類屬性與 asp 類公有成員變量相比具有以下一些特點。
可以在賦值的同時執(zhí)行其它功能
可以確定賦值范圍
可以將設(shè)定只讀、只寫屬性
所以 asp 類屬性也是比較常用且重要的。 詳細(xì)內(nèi)容 asp 類組合 asp 類的功能實在有限,所以有時我們要實現(xiàn)復(fù)雜的功能,只好用組合來實現(xiàn)。
創(chuàng)建一個最簡單的 asp 類
class cfoo
sub printhello()
response.write "hello world!"
end sub
end class
可以看出,asp 類的基本結(jié)構(gòu)是:
class 類名
類代碼
end class
使用一個最簡單的 asp 類
dim obj
set obj = new cfoo '使用 set new 創(chuàng)建對象,由于不是服務(wù)器組件,所以不能用 server.createobject 創(chuàng)建
call obj.printhello '對象名稱后加點,再跟成員變量、屬性或函數(shù),表示調(diào)用該對象的成員變量、屬性或函數(shù),將顯示 hello world!
set obj = nothing '釋放對象
asp 類里不能重載構(gòu)造函數(shù),所以我們不能使用類似于 set obj = new cfoo("param") 的語句來創(chuàng)建類。
asp 類的功能實在有限,所以有時我們要實現(xiàn)復(fù)雜的功能,只好用組合來實現(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)于是在私有成員變量與外界之間架了一座橋梁,使雙方可以互相通信。
有人就會問屬性跟公有成員變量一樣,它的存在又有什么獨立的意義呢?
1、可以在賦值的同時執(zhí)行其它功能
如下代碼,相當(dāng)于同時為兩個成員變量賦值
public property let propname(v)
pvt = v
另一個私有成員變量名 = "pvt 的值:" & v
end property
2、可以確定賦值范圍
假如上例中的屬性寫改為如下:
public property let propname(v)
if len(v) <= 5 then
pvt = v
end if
end property
執(zhí)行 obj.propname = "個十百千萬億" 將不會為 pvt 賦值成功,因為該字符串的長度超過了 5。
3、可以將設(shè)定只讀、只寫屬性
如上例中,假如我們將 let 函數(shù)去掉,調(diào)用 obj.propname = "屬性值" 就會出錯,因為這時候函數(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)建對象時,自動執(zhí)行
private sub class_initialize()
publicparam = "公有" '可以在這里為成員變量賦值
privateparam = "私有"
end sub
'該函數(shù)為析構(gòu)函數(shù),在使用 set nothing 釋放對象時,自動執(zhí)行
private sub class_terminate()
response.write "釋放對象"
end sub
'公有成員函數(shù)(過程)
'成員函數(shù)(過程)不需要也不能申明
sub printparam(index)
if index = 1 then
call printpublicparam()
elseif index = 2 then
call printprivateparam()
end if
end sub
'私有成員函數(shù)(過程)
'只是比公有成員函數(shù)(過程)多一個 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 '自動調(diào)用 class_initialize 函數(shù),為 publicparam、privateparam 賦值
obj.publicparam = "新的公有"
obj.privateparam = "新的私有" '將發(fā)生錯誤,因為 privateparam 是私有變量
call obj.printparam(1) '顯示 publicparam 的值
call obj.printpublicparam() '將發(fā)生錯誤,因為 printpublicparam 是私有函數(shù)
set obj = nothing '自動調(diào)用 class_terminate 函數(shù),顯示“釋放對象”
相關(guān)文章
- 檢測函數(shù) asp class
- 遭遇ASP類的事件設(shè)計
- ASP高亮類
- Object對象的一些的隱藏函數(shù)介紹
- 淺談ASP中的類
- 在VBScript中使用類
- ASP 類專題
- 代碼與頁面的分離
- ASP代碼的對象化
- 一個asp快速字符串連接類
- 一個簡單的asp數(shù)據(jù)庫操作類
- ASP類編寫詳細(xì)說明
- 實現(xiàn)支持邏輯搜索/單詞搜索/詞組搜索+支持OR/AND關(guān)鍵字的VBS CLASS!
- ASP類Class入門 推薦
- 創(chuàng)建一個ASP通用分頁類
- 如何編寫一個ASP類
- 一個ACCESS數(shù)據(jù)庫訪問的類第1/3頁
- 分頁類,異常類
- ASP 類 Class入門