vbscript中函数是否可以定义成为多态形式

lcahuang 2006-07-13 11:05:28
vbscript中函数是否可以定义成为多态形式?
比如说:
funcA(a, b default 1)
参数b可以指定,也可以不指定。不指定时为1。
...全文
329 12 打赏 收藏 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
超级大笨狼 2006-07-31
  • 打赏
  • 举报
回复
多态,用数组做参数来模拟吧,参数类型要自己在函数里用VarType 或者 TypeNam判断了。
function aaa(Arr)
dim length:length=ubound(Arr)
' if length=3
dim Type =VarType(Arr(2))
select case Type
end function

aaa(array(1,2))
aaa(array(1,2,3))
aaa(array(1,2,"字符串"))
三仙半 2006-07-25
  • 打赏
  • 举报
回复
BlueDestiny(这回真的准备要改名字了...) :新帖子开了,去拿分吧。
不过最好把封装的原理和方法给解释一下。
赶兴趣的朋友都过去帮呐喊助威,不过没有分给大家,因为我只有100分信誉,都给BlueDestiny(这回真的准备要改名字了...) 了。
BlueDestiny 2006-07-24
  • 打赏
  • 举报
回复
给个封装的例子如何?
--------------------------
嗯??你不是要我给你封装的例子?
aarony_net 2006-07-23
  • 打赏
  • 举报
回复
请参考http://blog.aarony.net上vbscript develop guide中关于函数与过程一节,讨论了如果构造一个缺省参数函数。
三仙半 2006-07-23
  • 打赏
  • 举报
回复
BlueDestiny(这回真的准备要改名字了...) :哥们,你这实现多态了吗?我没看明白呀!给点解释,行吗?
BlueDestiny 2006-07-20
  • 打赏
  • 举报
回复
<script language="vbs">
//<![CDATA[
class a
private m1
public m2
private sub class_initialize()
msgbox("构造函数")
m1="never-online"
end sub
private sub class_terminate()
msgbox("析构函数")
end sub
public function interface(val)
m2=val
msgbox("调用public接口")
end function
end class

set b=new a
b.interface("bb")
msgbox(b.m2)
'这里会出错,因为m1是private
'msgbox(b.m1)
set b=nothing

//]]>
</script>
三仙半 2006-07-20
  • 打赏
  • 举报
回复
BlueDestiny(这回真的准备要改名字了...) :给个封装的例子如何?我可以单独开一个帖子给你100分。我的信誉一直是100。
showlin 2006-07-19
  • 打赏
  • 举报
回复
vbs应该是不支持多态的
BlueDestiny 2006-07-19
  • 打赏
  • 举报
回复
vbs语言本身不支持。功能只有封装...
三仙半 2006-07-14
  • 打赏
  • 举报
回复
我也想过这个问题,但还没弄明白,有知道是否可以实现,能实现怎么实现的朋友帮忙解释一下
nevsong 2006-07-13
  • 打赏
  • 举报
回复
VB可以,VBS无试过,你可以试试

funcA(a , Optional b as Integer = 1)
lcahuang 2006-07-13
  • 打赏
  • 举报
回复
好像是不支持。谢谢!

4,008

社区成员

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

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