ASP 使用三层架构 asp中使用类

但是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吧.

时间: 2024-09-25 19:54:31

ASP 使用三层架构 asp中使用类的相关文章

ASP 使用三层架构 asp中使用类_ASP CLASS类

但是Class这个东西,如果用得比较少,充其量只是一个大模块的包装方式. 只有大规模地用它来开发,才能显出它对项目管理的优越性来. 所谓的意大利面条式代码,就会和asp划上句号了. 我想目前大部分的asp程序员中都还没有使用Class,对面向对象这种术语也不太熟悉,需要增加一章来描述一下asp中的类所扮演的角色,以及和面向对象编程的关系. 我会用尽量贴近编程实践的方式来解释Class的运用,但不会动用面向对象之类的抽象术语,如果你有了面向对象的理论基础,可以把这些内容与其结合,或者会有你独特的发

ASP.NET三层架构详解 如何实现三层架构_实用技巧

一.数据库 /*==============================================================*/ /* DBMS name: Microsoft SQL Server 2000 */ /*==============================================================*/ if exists (select 1 from sysobjects where id = object_id('newsConte

sqlserver-C#asp.net三层架构,怎么才能通过主键查询到相对应的记录

问题描述 C#asp.net三层架构,怎么才能通过主键查询到相对应的记录 类库代码如下: /// 把SqlDataReader对象中的数据读出到List中 /// 转换后的列表对象 private List GetUse(SqlDataReader reader) { List uselist = new List(); while (reader.Read()) { use.UName = reader["UName"].ToString(); use.Password = read

请问谁有asp.net三层架构的网上书店系统的源代码

问题描述 请问各位谁有asp.net三层架构的网上书店系统的源代码(用vb.net写的),给小弟我发一个!感激不尽! 解决方案 解决方案二:怎么都做这个呢?北大青鸟?挨..我上学的时候就没做挖嘎嘎因为一点技术含量都木有解决方案三:同一个问题,发多个帖子,散粉吗?

ASP.NET 三层架构使用IDAL 接口层有什么作用,有和妙用,使用业务逻辑层BLL直接调用数据层DAL不可以嘛。

问题描述 我们通常是UIweb层调用BLL层,BLL层调用DAL达到数据的交换.但是看到大多数项目是有个IDAL接口,只是声明方法没有任何的代码实现部分,代码实现部分都放在了DAL层,然后BLL层去调用IDAL接口层的方法实现,并没有去调用DAL层,UI层调用BLL层,这里的接口层有和作用,请教各位帮忙解答,不胜感激! 解决方案 解决方案二:IDAL是DAL层的类要实现的接口.DAL层的各类需要完成对数据库的访问,但是不同的数据库需要使用不同的DAL对象,这样对于BLL层来说无法实现数据库无关性

asp.net三层架构 UI层引用问题

问题描述 asp.net改成三层架构时在UI层引用了BLL,也加了UsingBLL,写代码的时候没有任何问题,但是编译时说缺少引用....求大神指教,,马上就毕业答辩了 解决方案 解决方案二:看一下你的BLL版本.看看是否本web的.net版本要高.解决方案三:删掉重新添加引用

有人在吗,问一下asp.net三层架构中不清楚的问题

问题描述 1,画面上的一些控件,对应不同表的数据,是应该用不同表对应的实体来填充,还是针对画面上的控件,在单独整一个实体出来2,商业逻辑层,如果是针对多表的复杂操作,应该放在哪里3,bll层查询返回多行时,用datatable就可以,有必要用对象的集合吗,感觉多此一举 解决方案 解决方案二:以下只是本人的想法:1,对于像列表这种实体绑定,如果字段太多可以根据显示的要求,整一个只读的实体出来.2,可以用存储过程中进行.3,面向对象用实体类集合有更好的封装.还有就是datatable不是强类型的.解

asp net 三层架构-小白请教一个关于ASP.NET问题。

问题描述 小白请教一个关于ASP.NET问题. 上面的问题是什么情况?我在网上找了下,说是引用对象为空,那么哪个是空的啊,Web.Config我也配置了啊 解决方案 大小写搞错了,还多了一个空格. 解决方案二: 检查配置文件中的节点以及名字. 解决方案三: 检查配置文件有没有,以及配置文件里的ConnectionStrings小节下面有没有key=ConnectionString的项 解决方案四: 看下web.config里面connectionString配置的数据库链接名称对不对,另外你的这

VS2010如何将C#三层架构项目中插入的图片的路径存储到数据库中

问题描述 privatevoidbutton1_Click(objectsender,EventArgse){openFileDialog1.ShowDialog();//显示打开文件对话框stringImgPath=openFileDialog1.FileName;//得到文件路径pictureBox1.ImageLocation=ImgPath;//显示图片FileInfofile=newFileInfo(ImgPath);//new一个文件操作类file.CopyTo("你的目录"