ASP怎么谈到应用到类的?(3)



<!--#include file="conn.asp"-->

那么上面是省去的什么重复?每次数据库连接的重复。这是对于通用的某些共用的代码的防重复。接着来看,如果说我要这个页面显示5条,那个页面显示6条,又该如何?很显然,这只能是对当前页中的SQL语句进行简单的修改,比如原来是 top 5 的修改为 top 6。

OK,继续看,是不是还有重复?有,除了SQL查询定义的不同,其他的都是重复。

于是,继续想办法:可不可以自己来定义提取的条数?就是我想提取几条就几条,但程序只需要写一个。那么这时候,函数的就派上用场了啊。比如我定义这样的函数:



Function topnews(tnum)

Set rs = Server.CreateObject ("ADODB.Recordset")
sql = "Select top "&tnum&" * from [news] order by n_id desc"
rs.Open sql,conn,1,1

do while not rs.eof
response.write rs("n_title")
rs.movenext
loop

rs.close
set rs=nothing

End Function



那么,就可以使用 topnews(5) 或者 topnews(6) 来完成需要了

……咋一看,似乎ASP用上函数这就算最终的完成了。因为主要的程序功能做成了函数模块,需要在前台页面使用该功能时,直接调用一下,必要时修改下函数参数值就是一个完美的结局/。

那么,ASP中怎么又引入了类?这类是什么?又是如何应用?

在ASP的脚本语言中,VBscript里有个Class关键字,用它可来声明一个自定义类。比如

Class name
 statements
End Class

这里statements里可以声明公有或私有的成员,包括函数、成员和属性。

而Javascript则是用一个函数来“声明”类,然后在该函数里通过 this.prototype 定义属性,this.func 定义方法。这里有一篇看看。

哪个简单拣哪个。在定义了 类也就是 class 的名称 name 后,这里面可以做些什么东西呢?

第一个。MSDN文档:在 Visual Basic 6.0 中,在创建和毁坏类模块时,类模块使用 Initialize 和 Terminate 事件来执行所有必要的操作。当在 New 语句之后第一次遇到对象时,会引发 Initialize 事件,当释放对象的最后一个引用时,会立即引发 Terminate 事件。但是,可在执行期间随时直接调用这些事件方法。

所以经常会看到这样的例子:


Class cnbruce '声明一个名为cnbruce的类

Private cnrose
Private Sub Class_Initialize
    cnrose="My Name is cnrose."
End Sub

Private Sub Class_Terminate()
End Sub

End Class



喏,这也就是一个初始化。

此外,asp类中具有let和get方法。比如在 以上代码的Class cnbruce ... End Class之间加入:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/3667.html