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

首頁 > 編程 > ASP > 正文

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

2020-07-27 12:53:35
字體:
供稿:網(wǎng)友
但是Class這個東西,如果用得比較少,充其量只是一個大模塊的包裝方式. 只有大規(guī)模地用它來開發(fā),才能顯出它對項目管理的優(yōu)越性來. 所謂的意大利面條式代碼,就會和asp劃上句號了.
我想目前大部分的asp程序員中都還沒有使用Class,對面向?qū)ο筮@種術(shù)語也不太熟悉,需要增加一章來描述一下asp中的類所扮演的角色,以及和面向?qū)ο缶幊痰年P(guān)系.
我會用盡量貼近編程實踐的方式來解釋Class的運用,但不會動用面向?qū)ο笾惖某橄笮g(shù)語,如果你有了面向?qū)ο蟮睦碚摶A(chǔ),可以把這些內(nèi)容與其結(jié)合,或者會有你獨特的發(fā)現(xiàn). 如果沒有了解過面向?qū)ο?也不用一定要知道面向?qū)ο笫窃趺椿厥?只要通過閱讀本系列的文章,學會了Class的用法,并且在編程中依據(jù)了其中的法則,就可以足夠健壯地管理你的asp代碼了.
Class相當于一個包裝箱,它可以將變量和函數(shù)包裝起來,形成一個整體,本系列文章要講的所有內(nèi)容,可以說是包裝的學問.
例如,我們可以包裝一個數(shù)學處理的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

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

16 男同志在家吃完飯,是要洗碗洗鍋的吧. set ** = nothing 也是同樣的道理.這個和創(chuàng)建Recordset之后要清掉也是一樣的用法. set nothing以后,就表示它從內(nèi)存里面丟棄了,這個萬能包裝箱所占的位置就空出來了,你的網(wǎng)站性能當然會提高,還猶豫什么? 用完了趕緊set nothing.
我知道大家都不會這么玩Function的,至少是Sum(19,80)才更方便使用,好,我們在包裝箱上再打一個洞出來:
復(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 ?
雖然你這么有誠意地看著我,但是你還是要說是不是想學,不可能你不想學我偏要你學,也不能你想學我偏不讓你學,難道你真的想學?確認?
那就不要Ctrl+C吧.
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 长乐市| 扎兰屯市| 海兴县| 屯昌县| 鲁甸县| 长宁县| 舞阳县| 巴南区| 林甸县| 宣武区| 汤原县| 盐津县| 鄂托克前旗| 聊城市| 申扎县| 怀柔区| 扎囊县| 临猗县| 茌平县| 印江| 云龙县| 祥云县| 海安县| 连南| 应城市| 杭锦旗| 阿克陶县| 齐齐哈尔市| 高雄县| 清丰县| 安宁市| 收藏| 柳河县| 乌兰浩特市| 陆川县| 阿尔山市| 兴文县| 札达县| 万荣县| 郧西县| 且末县|