黑基网 首页 学院 电脑技术 查看内容

vbs类的使用方法

2009-7-2 10:36| 投稿: computer

摘要:   vbs类的使用方法   类的结构:   class 类名称   end class   调用方法 set myclass=new 类名称   中间类里面的代码,   类模块的事件过程。...
  vbs类的使用方法   类的结构:   class 类名称   end class   调用方法 set myclass=new 类名称   中间类里面的代码,   类模块的事件过程。   Private Sub Class_Initialize()   这里写上类实例化的时候执行的代码。   end sub   Private Sub class_terminate()   这里是类注销的时候自动执行的代码,   end Sub   上面两个子程序的名称是规定的,   如果改了名称,就会无效。   1、变量   2、函数(Function)   3、属性(Property)   4、方法 (SUB)   一、对象的访问限制,分为公有和私有,公有的(public)可以让外部访问,私有的(Private )外部不能访问,   上面几种角色都可以定义为公有或私有。   定义变量   public mystr,mystring   这样就定义了两个公有的变量,调用方法myclass.mystr   反之   Private mystr,mystring   则为私有的变量,外部不能访问的。   函数   Public Function Checkstr(Str)   If Isnull(Str) Then   CheckStr = ""   Exit Function   End If   CheckStr = Replace(Str,"'","''")   End Function   这是一个公有函数,外部可以访问的,调用方法 myclass.Checkstr(Str)   反之如果为私有的,则用Private 取代public   3、属性(Property)   属性分两种,一种是只写属性,一种是只读属性。   也可以为公有或私有,现在以公有为例子。   这是一个只写的属性   Public Property Let Value(ByVal vNewValue)   Dim tmpstr   tmpstr = vNewValue   tmpstr = split(tmpstr,"@@@")   html = split(tmpstr(0),"|||")   Strings = split(tmpstr(1),"|||")   pic = split(tmpstr(2),"|||")   End Property   这是一个只读的属性   Public Property Get TodayNum   TodayNum = Application(Forum_sn & "_Dv_setup")(9,0)   End Property   如果要有读写的属性那么   Public Property Get TodayNum   TodayNum = Application(Forum_sn & "_Dv_setup")(9,0)   End Property   Public Property Let TodayNum(ByVal vNewValue)   TodayNum = vNewValue   End Property   这样写TodayNum就具有读写的属性了,   方法,也以公有为例,   Public Sub TrueCheckUserLogin()   代码   end sub   以下为一个简单的类的的例子:   Class cls_templates   Public html,Strings,pic   Private Sub Class_Initialize()   end sub   Private Sub class_terminate()   end sub   Public Property Let Value(ByVal vNewValue)   Dim tmpstr   tmpstr = vNewValue   tmpstr = split(tmpstr,"@@@")   html = split(tmpstr(0),"|||")   Strings = split(tmpstr(1),"|||")   pic = split(tmpstr(2),"|||")   End Property   End Class   使用VBScript 中的类组织开发   当在一个机构内部创建Web应用程序时,有时候你会发现你自己从一个应用程序中复制和粘贴相同的代码到其它的应用程序中。如果你能够固化所有这些过程到一个好用的小包(package)中,其后你就可以在整个域中使用它了,这样会方便很多。   同 时,如果你有一个重复使用的过程,创建一个类包含你的过程可能会比较有用。使用类组织你的代码有一些优点:它使得你的代码容易阅读和调试;你可以将你的类 轻松的移值到一个Web服务中;你为其它开发人员提供一个抽象工具(从而节省了时间和资金);同时在一个项目的开发阶段你还保留了灵活性。   当 把你的通用过程组织到一个类的时候,你创建一级抽象,允许你在几乎所有代码中实现这些过程。例如,假设在你创建的每个Web应用程序中,你者需要初始化用 户信息。这个初始化过程包括在用户登录到你的应用程序时根据用户凭证所做的一些数据库服务器连接。如果你在每个应用程序中都需要完成这个任务的话,那么将 你的代码固化到一个类中相当有意义。   下面是实现方法:   Dim MyToolbox   Set MyToolbox = New CToolbox   Response.Write "UserName: " & MyToolbox.UserName & "<BR>" & vbCrLf   Response.Write "UserPhone: " &   MyToolbox.UserPhone & "<BR>" & vbCrLf   Set MyToolbox = Nothing   Class CToolbox   Private m_conn, m_rs   Private m_username, m_userphone   Public Property Get UserName()   UserName = m_username   End Property   Public Property Get UserPhone()   UserPhone = m_userphone   End Property   Private Sub Class_Initialize()   Set m_conn = Server.CreateObject("ADODB.Connection")   m_conn.ConnectionString = "Some connection string"   m_conn.Open   Set m_rs = Server.CreateObject("ADODB.Recordset")   Set m_rs.ActiveConnection = m_conn   m_rs.Open "SELECT * FROM Users WHERE userid = '" &   Request.ServerVariables("LOGON_USER") & "'"   If Not m_rs.EOF Then   m_username = m_rs.Fields("username")   m_userphone = m_rs.Fields("userphone")   End If   End Sub   Private Sub Class_Terminate()   On Error Resume Next   m_rs.Close   Set m_rs = Nothing   m_conn.Close   Set m_conn = Nothing   End Sub   End Class   从 例子中你可以看到,UserName 和 UserPhone 属性在类初始化之后就会有值。你可以将这个类的代码放到 ASP 代码的最后。然后在其余 的代码中其功能就可以在使用,不用实例化ADO对象,进行数据库调用和之后的清理。而且,如果你使用的是 Microsoft Visual InterDev,那么类中定义的属性和方法可以通过智能感知(IntelliSense)使用。   智能感知只对一级属性和方法有效,所以如果你创建一个类返回其它 ASP 类的对象,那么 InterDev 就不会提供可用的方法和属性。   下面的代码是一个类的骨架:   Class MyClass   Private Sub Class_Initialize()   End Sub   Private Sub Class_Terminate()   End Sub   End Class   使用这个基本信息,一个类被声明,并且可以使用它来创建对象。但是这个类的对象没有功能——它们是无用的东西。类的方法从 Public Sub 或者 Public Function 声明构建(Subs 没有返回值,而 Function 有返回值)。   有 两个方法可以暴露属性:既可以在类的全局上下文中使用 Public VarName,也可以使用 Public Property Get/Set/Let。如果你需要一个只读属性,那么只要简单地使用一个 Property Get 声明即可。所 有其它声明为 Private 的 Properties,Subs 或者 Functions 只有在实例化的对象才可用。在类的全局上下文中声明为 Private 的变量是成员变量。   创建类的另外一个好处是你可以轻易的将这个类声明移值到 Web 服务中。因为这是很多开发人员前 进的方向,你可以通过使用类创建面向对象的代码先行一步。当你移值这些类声明到一个 Web 服务时,你不需要重写所有的放置了那段代码的ASP代码。所 要做的唯一的改变就是你的对象的实例化。   我发现创建这个抽象的最大的优点是可以使用其它 Web 开发者的帮助。因为对于很多开发人员来 说在每个不同的实现中重复创建相同的代码效率相当低,所以这个方法为每个开发人员提供了一个抽象工具。这就允许每个开发人员将精力更多地集中在当前工作的 功能上面,而不是花费时间重写他们已经开发过的代码上面。   如果你奇怪为什么我不提供一个COM对象来处理这个功能,那是因为它会把你锁定 到细节设计中。通过在 ASP 中动态地创建类,你可以不用重新编译和发布就能够对类做出更改。在类固定之后,再将它移值到 COM、Windows 脚 本组件(WSC)或者一个 Web 服务中,但是在开发阶段还是灵活一些好。
小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里 注册黑基账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!



免责声明:本文由投稿者转载自互联网,版权归原作者所有,文中所述不代表本站观点,若有侵权或转载等不当之处请联系我们处理,让我们一起为维护良好的互联网秩序而努力!联系方式见网站首页右下角。


鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论


新出炉

返回顶部