在VBScript中使用類(一) - 中國WEB開發者網絡 (http://www.webasp.net) -- 技術教程 (http://www.webasp.net/article/) --- 在VBScript中使用類(一) (http://www.webasp.net/article/8/7930.htm) |
| -- 作者:未知 -- 發佈日期: 2003-12-01 |
| 前言
首先,在我進入實質性主題並解釋如何建立類之前,我希望保證你知道「對像」。雖然你可以在程序中使用對像而不用知道其正確的規則,但我並不建議如此!對於對象的初學者,接下來的部分將讓你瞭解其概念及內容。已經瞭解面向對像編程(OOP)的讀者可以跳過這章節。 導論 l 「對象是什麼?」——對像通常代表某種實體,主要是一個變量和函數的集合。 l 「實體是什麼?」——字面上說,實體是一個「事物」,我的意思是一個概念或者任何一個物體。例如,一輛汽車是一個實體,因為它是一個物體。你公司銷售部門銷售產品也是一個實體,當然,你也可以將其拆開來看,銷售人員、客戶、產品等都是實體。 讓我們更深入的來看「銷售」這個實體(對像)。為了使你更準確地有一個銷售的「映像」,你需要知道客戶買了什麼,是哪個客戶,誰是銷售人員等等……這看來是一個簡單的事件,但假設所有信息是存儲在單獨的數據庫表中的,那麼當你需要獲得某個銷售過程所有相關信息時,你必須在你的數據庫中做多次獨立查詢,再將所有的數據集攏。有沒有更簡便的辦法而一次獲得銷售的所有信息呢?「對像」。 在對像中,你可以植入代碼以從其他表中獲得數據,你也可以保存對像屬性的所有信息,這樣,你可以輕鬆地使用代碼管理你的銷售數據。例如: 'Open the database connection Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open "MyDSN" 'Create the recordset object Set objRS = Server.CreateObject("ADODB.Recordset") 'Define the SQL query strComplexSQLQuery = "SELECT C.Name, S.Name FROM Customers C, " & _ "Salespeople S, Sales Sl WHERE Sl.CustomerID=C.ID AND " & _ "Sl.SalespersonID=S.ID AND Sl.ID=" & strIDOfThisSale & ";" 'Open the recordset objRS.Open strComplexSQLQuery, objConn, adOpenForwardOnly, _ adLockReadOnly, adCmdText 'Take the customer and sales person names from the recordset strCustomerName = objRS(0) strSalesPersonName = objRS(1) 'Tidy up the objects objRS.Close objConn.Close Set objRS = Nothing Set objConn = Nothing 'Output the data Response.Write "This sale was made by " & strSalesPersonName & _ " to " & strCustomerName 可以使用「對像」來替代: 'Create the "Sale" object Set objSale = New Sale 'Lookup the correct sale objSale.ID = strIDOfThisSale 'Output the data Response.Write "This sale was made by " & objSale.SalesPersonName & _ " to " & objSale.CustomerName 'Tidy up the objects objSale.Close Set objSale = Nothing 如果你使用「Sale」對像做比打印更多的事,可以讓你省去很多的打字時間。 計算中,對像包括「屬性」和「方法」。屬性主要是儲存在對像中的一個變量,其用法與變量相同。唯一的區別在於參數賦值為:strMyVar = "This is a string variant", 而對像屬性為 objObject.Property="This is a string variant"。這點非常簡單而有用處。方法可以理解為植入對像中的函數與過程,可以使用strMyVar = objObject.MethodName(strMyVar)來代替strMyVar =FunctionName(strMyVar)。寫法不同,但功能相同。屬性的一個例子是對像Response中的ExpireAbsolute,Response.ExpiresAbsolute = CDate("1 September 1999")。方法的一個例子是對像Response中的Write方法,Response.Write "Hello world!"。 VBScript的一個新特性就是其可以創建新的對象而不需要求諸於花銷時間都極大的編譯器。我將向讀者展示如何創建對象的類,並希望提供一個良好的開端。 如果有什麼問題歡迎來http://www.showc.com中討論 感謝Sophie的翻譯 |
| webasp.net |