国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > ASP > 正文

ASP 使用三層架構(gòu) asp中使用類

2024-05-04 11:08:48
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
Class在asp中出現(xiàn)蠻久了,不過(guò)很少看到它被用在代碼當(dāng)中.記得當(dāng)年研究動(dòng)網(wǎng)的論壇程序的時(shí)候,看到了一些例子,當(dāng)時(shí)還覺(jué)得比較崇拜----對(duì)自己沒(méi)用過(guò)的技術(shù).
 
 
 
但是Class這個(gè)東西,如果用得比較少,充其量只是一個(gè)大模塊的包裝方式. 只有大規(guī)模地用它來(lái)開發(fā),才能顯出它對(duì)項(xiàng)目管理的優(yōu)越性來(lái). 所謂的意大利面條式代碼,就會(huì)和asp劃上句號(hào)了. 
我想目前大部分的asp程序員中都還沒(méi)有使用Class,對(duì)面向?qū)ο筮@種術(shù)語(yǔ)也不太熟悉,需要增加一章來(lái)描述一下asp中的類所扮演的角色,以及和面向?qū)ο缶幊痰年P(guān)系. 
我會(huì)用盡量貼近編程實(shí)踐的方式來(lái)解釋Class的運(yùn)用,但不會(huì)動(dòng)用面向?qū)ο笾惖某橄笮g(shù)語(yǔ),如果你有了面向?qū)ο蟮睦碚摶A(chǔ),可以把這些內(nèi)容與其結(jié)合,或者會(huì)有你獨(dú)特的發(fā)現(xiàn). 如果沒(méi)有了解過(guò)面向?qū)ο?也不用一定要知道面向?qū)ο笫窃趺椿厥?只要通過(guò)閱讀本系列的文章,學(xué)會(huì)了Class的用法,并且在編程中依據(jù)了其中的法則,就可以足夠健壯地管理你的asp代碼了. 
Class相當(dāng)于一個(gè)包裝箱,它可以將變量和函數(shù)包裝起來(lái),形成一個(gè)整體,本系列文章要講的所有內(nèi)容,可以說(shuō)是包裝的學(xué)問(wèn). 
例如,我們可以包裝一個(gè)數(shù)學(xué)處理的Class,并使用它: 
復(fù)制代碼代碼如下:

Class Con_Math 
Public A 
Public B 
Private intC 
Public Function Sum() 
intC = cint(A) + cint(B) 
Sum = intC 
End Function 
End Class 
set math = new Con_Math 
math.A = 19 
math.B = 80 
Response.write math.Sum 
set math = nothing 

逐行解釋語(yǔ)法: 
1, 定義了一個(gè)包裝箱,名字叫 Con_Math ,大家都知道Math是數(shù)學(xué)的意思,Con_前綴是我的編程習(xí)慣,對(duì)于可能會(huì)在整個(gè)程序中使用的Class,冠一個(gè)Con_前綴,代表它是一個(gè)通用性的Class. 純屬編程習(xí)慣,但是加個(gè)前綴不光是一個(gè)習(xí)慣問(wèn)題,等會(huì)在后面會(huì)做解釋. 
2,3 放進(jìn)去了2個(gè)變量,名字為A,B, 它們前面的Public代表它們是公共的變量,可以被外面的程序訪問(wèn)到. 
4 變量intC被定義為Private,表示它是包裝箱內(nèi)部的私有變量,不可以從外面看到它,也不可以強(qiáng)行扯出來(lái),無(wú)論你有多大力氣都不行的.偷出來(lái)?你試試看. 
6,7,8,9 這四行定義了一個(gè)進(jìn)行加法運(yùn)算的函數(shù),除了一個(gè)Public,其他的都是你天天用的東西,如果你不眼熟...... 還是別看這個(gè)系列了,先去做做基礎(chǔ)功課比較好. 同上面的兩個(gè)變量一樣,加一個(gè)Public表示包裝箱在這里開了一個(gè)洞,你可以從外面看到它,使用它. 
10 End Class 打上封箱的膠帶,一個(gè)整整齊齊的Class就包裝完成了 
只不過(guò),這個(gè)包裝箱只是一個(gè)構(gòu)思,不能當(dāng)現(xiàn)成的用. 借用唐僧大師的話:(悟空他要吃我)只是一個(gè)構(gòu)思,還沒(méi)有成為現(xiàn)實(shí)(他又何罪之有呢),不如等它實(shí)例化以后,再用也不遲啊(再定他的罪不遲啊). 
實(shí)例化,就表示實(shí)際的吃肉行為. 
我們可以在asp代碼中輕易地實(shí)例化我們的構(gòu)思,可惜西天路上千千萬(wàn)萬(wàn)的妖怪都沒(méi)有辦法實(shí)例化他們的"吃唐僧肉"的Class,實(shí)在真是可憐憫者! 
這是程序員的優(yōu)越性. 
12 實(shí)例化了我們定義好的Class,實(shí)例化名是不能和構(gòu)思名一模一樣的,不然在語(yǔ)法方面會(huì)亂套的.所以大家現(xiàn)在知道了,為什么會(huì)給Class加個(gè)前綴的習(xí)慣么? 當(dāng)然,大家完全可以不用Con_做前綴,如下等等都是好材料:Yaomin_ Jimo_ Chunge_ ......或者用你老婆的閨名都可以的,人要活得有想象力一點(diǎn). 
13,14 我們把被公開的兩個(gè)變量A,B賦值,這里的.號(hào),大家完全可以想象它是包裝箱上開的一個(gè)洞,通過(guò)這個(gè)洞,你可以把東西放進(jìn)去取出來(lái).一定要通過(guò)這個(gè)洞的.嗯?太小了?不不,別擔(dān)心,再大的東西也可以放進(jìn)去的.就像人的嘴巴,雖然小,地球那么大的食物也可以被吃光的. 
15 我們通過(guò)小洞,把它的函數(shù)運(yùn)算結(jié)果掏出來(lái),顯示在頁(yè)面上,99,吉利啊,這是我的出生年的前兩位和后兩位相加的數(shù)字. 打開一個(gè)記事本,把這段代碼寫進(jìn)去吧,然后在IIS里面運(yùn)行吧. 

16 男同志在家吃完飯,是要洗碗洗鍋的吧. set ** = nothing 也是同樣的道理.這個(gè)和創(chuàng)建Recordset之后要清掉也是一樣的用法. set nothing以后,就表示它從內(nèi)存里面丟棄了,這個(gè)萬(wàn)能包裝箱所占的位置就空出來(lái)了,你的網(wǎng)站性能當(dāng)然會(huì)提高,還猶豫什么? 用完了趕緊set nothing. 
我知道大家都不會(huì)這么玩Function的,至少是Sum(19,80)才更方便使用,好,我們?cè)诎b箱上再打一個(gè)洞出來(lái): 
復(fù)制代碼代碼如下:

Class Con_Math 
Public A 
Public B 
Private intC 
Public Function Sum() 
intC = cint(A) + cint(B) 
Sum = intC 
End Function 
Public Function Sum2(ByVal vA,ByVal vB) 
Sum2 = cint(vA) + cint(vB) 
End Function 
End Class 
set math = new Con_Math 
Response.write math.Sum2(19,80) 
set math = nothing 

你還想Ctrl+C ? 
雖然你這么有誠(chéng)意地看著我,但是你還是要說(shuō)是不是想學(xué),不可能你不想學(xué)我偏要你學(xué),也不能你想學(xué)我偏不讓你學(xué),難道你真的想學(xué)?確認(rèn)? 
那就不要Ctrl+C吧.

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 开封市| 德兴市| 庄浪县| 阳山县| 宁阳县| 皮山县| 视频| 巴彦县| 穆棱市| 景宁| 滦南县| 枣强县| 遵义市| 大关县| 友谊县| 上林县| 淳化县| 柏乡县| 临洮县| 丰县| 高碑店市| 京山县| 安龙县| 宜丰县| 青浦区| 小金县| 凭祥市| 隆子县| 奉化市| 吴川市| 莎车县| 含山县| 嘉善县| 确山县| 霍林郭勒市| 阿勒泰市| 青田县| 连山| 黄平县| 甘德县| 濮阳县|