BlueDestiny(这回真的准备要改名字了...) :过来接分了。

三仙半 2006-07-25 06:19:01
因为讨论VBS封装的问题,特别许诺100分给BlueDestiny(这回真的准备要改名字了...) ,其他朋友不会有分了,抱歉!
另外,BlueDestiny(这回真的准备要改名字了...) ,我是得到封装的例子了,但没看懂,能把封装的道理和方法解释给我听听吗?
...全文
311 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
mingxuan3000 2006-07-28
  • 打赏
  • 举报
回复
上贴在那?我看看去
三仙半 2006-07-28
  • 打赏
  • 举报
回复
好了,这个问题我大概知道一些了,其实大家说了很多,但限于我的基础,可能没有完全理解,但学到这些我已经很感谢了。
其他各位,抱歉了,没有你们的分,以后吧,我不懂的还很多,以后得到大家帮助时再说了。
BlueDestiny 2006-07-27
  • 打赏
  • 举报
回复
:D

vbs和js两者,js我相对熟一些,所以vbs还有其它的好办法实现多态我可能也不知道

js来做的话觉得又比vbs更好些,可以实现封装,继承。重载模拟起来也是麻烦一些。
三仙半 2006-07-27
  • 打赏
  • 举报
回复
首先感谢大家帮顶!
其次BlueDestiny(这回真的准备要改名字了...) ,通过你的例子,我了解了一些关于封装的知识,表示感谢,至于是否多态的,其实我并不在乎,所以你一点都不难做人,因为通过大家的帮助我知道了VBS不能直接实现多态,但可以曲线救国,着已经足够了。
关于这些知识,我的理解如下,请看一下是否正确。
1、封装可以看作是一个class vbsclass------end class结构,在它内部定义function或sub,然后用new claseName形式,就可以使用这些function或sub;
2、在主调函数中根据参数类型调用不同的function或sub就可以模拟多态,但省略某个参数不行。
是是非非 2006-07-26
  • 打赏
  • 举报
回复
帮你顶上去~
BlueDestiny 2006-07-26
  • 打赏
  • 举报
回复
你在上贴中不是要我举个封装的例子吗?呵呵,到后来你又说我没有给到多态的例子...我难做人了.:D

vbs本身没有多态的性质,比如重载,我们就要变向来解决。举个例

<script language="vbs">
//<![CDATA[
class vbsclass
public function func(para)
if (isNumeric(para)) then
call f_num(para)
else
call f_normal(para)
end if
end function

function f_num(para)
document.write("call func func(" & para & ")")
end function

function f_normal(para)
alert("call func func('" & para & "')")
end function
end class

set a = new vbsclass
a.func("a")
a.func(123)
//]]>
</script>
aarony_net 2006-07-25
  • 打赏
  • 举报
回复
呵呵,不拿分倒无所谓。因为志不在此。不过BlueDestiny的例子我也没看懂,定义了一个类而已,跟多态好象扯不上关系。

实际上VBScript中不可能实现函数的多态,这是由于它的无数据类型的语法特性决定的。因为变量没有数据类型,因而就不可能象c++那样通过名字压延(mangling)将仅仅是变量数据类型不同的函数区分开来。

如果问题的定义是问VBScript可不可以实现带缺省参数的函数的话,这个问题要分两部分回答。一是VBScript中一些系统内建的函数,允许使用缺省参数,如MsgBox等等。如果是自定义的函数的话,VBScript本身不直接支持声明带缺省参数的函数(VB,以及一些变种如Rational Robot 的SQABasic是支持的),但可以找到Workaround来实现类似的Feature。

关于VBScript的一些技巧,我在http://blog.aarony.net上有一个专题,去看看吧,内容不多,共十章的样子,但讨论的话题都比较深入,相信会对你有所帮助。

4,008

社区成员

发帖
与我相关
我的任务
社区描述
它是一种微软环境下的轻量级的解释型语言,它使用COM组件、WMI、WSH、ADSI访问系统中的元素,对系统进行管理。
社区管理员
  • vbScript社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧