ASP 使用三層架構 asp中使用類

來源:互聯網
上載者:User

但是Class這個東西,如果用得比較少,充其量只是一個大模組的封裝方式. 只有大規模地用它來開發,才能顯出它對專案管理的優越性來. 所謂的意大利麵條式代碼,就會和asp划上句號了.
我想目前大部分的asp程式員中都還沒有使用Class,對物件導向這種術語也不太熟悉,需要增加一章來描述一下asp中的類所扮演的角色,以及和物件導向編程的關係.
我會用盡量貼近編程實踐的方式來解釋Class的運用,但不會動用物件導向之類的抽象術語,如果你有了物件導向的理論基礎,可以把這些內容與其結合,或者會有你獨特的發現. 如果沒有瞭解過物件導向,也不用一定要知道物件導向是怎麼回事,只要通過閱讀本系列的文章,學會了Class的用法,並且在編程中依據了其中的法則,就可以足夠健壯地管理你的asp代碼了.
Class相當於一個封裝箱,它可以將變數和函數封裝起來,形成一個整體,本系列文章要講的所有內容,可以說是封裝的學問.
例如,我們可以封裝一個數學處理的Class,並使用它: 複製代碼 代碼如下: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是數學的意思,Con_首碼是我的編程習慣,對於可能會在整個程式中使用的Class,冠一個Con_首碼,代表它是一個通用性的Class. 純屬編程習慣,但是加個首碼不光是一個習慣問題,等會在後面會做解釋.
2,3 放進去了2個變數,名字為A,B, 它們前面的Public代表它們是公用的變數,可以被外面的程式訪問到.
4 變數intC被定義為Private,表示它是封裝箱內部的私人變數,不可以從外面看到它,也不可以強行扯出來,無論你有多大力氣都不行的.偷出來?你試試看.
6,7,8,9 這四行定義了一個進行加法運算的函數,除了一個Public,其他的都是你天天用的東西,如果你不眼熟...... 還是別看這個系列了,先去做做基礎功課比較好. 同上面的兩個變數一樣,加一個Public表示封裝箱在這裡開了一個洞,你可以從外面看到它,使用它.
10 End Class 打上封箱的膠帶,一個整整齊齊的Class就封裝完成了
只不過,這個封裝箱只是一個構思,不能當現成的用. 借用唐僧大師的話:(悟空他要吃我)只是一個構思,還沒有成為現實(他又何罪之有呢),不如等它執行個體化以後,再用也不遲啊(再定他的罪不遲啊).
執行個體化,就表示實際的吃肉行為.
我們可以在asp代碼中輕易地執行個體化我們的構思,可惜西天路上千千萬萬的妖怪都沒有辦法執行個體化他們的"吃唐僧肉"的Class,實在真是可憐憫者!
這是程式員的優越性.
12 執行個體化了我們定義好的Class,執行個體化名是不能和構思名一模一樣的,不然在文法方面會亂套的.所以大家現在知道了,為什麼會給Class加個首碼的習慣麼? 當然,大家完全可以不用Con_做首碼,如下等等都是好材料:Yaomin_ Jimo_ Chunge_ ......或者用你老婆的閨名都可以的,人要活得有想象力一點.
13,14 我們把被公開的兩個變數A,B賦值,這裡的.號,大家完全可以想象它是封裝箱上開的一個洞,通過這個洞,你可以把東西放進去取出來.一定要通過這個洞的.嗯?太小了?不不,別擔心,再大的東西也可以放進去的.就像人的嘴巴,雖然小,地球那麼大的食物也可以被吃光的.
15 我們通過小洞,把它的函數運算結果掏出來,顯示在頁面上,99,吉利啊,這是我的出生年的前兩位和後兩位相加的數字. 開啟一個記事本,把這段代碼寫進去吧,然後在IIS裡面運行吧.

16 男同志在家吃完飯,是要洗碗洗鍋的吧. set ** = nothing 也是同樣的道理.這個和建立Recordset之後要清掉也是一樣的用法. set nothing以後,就表示它從記憶體裡面丟棄了,這個萬能封裝箱所佔的位置就空出來了,你的網站效能當然會提高,還猶豫什麼? 用完了趕緊set nothing.
我知道大家都不會這麼玩Function的,至少是Sum(19,80)才更方便使用,好,我們在封裝箱上再打一個洞出來: 複製代碼 代碼如下: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吧.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.