免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 论坛热点
打印 上一主题 下一主题

为什么有些语言有“运行时检查对象是否有某个方法”的功能,这个功能有必要么? [复制链接]

论坛徽章:
0
41 [报告]
发表于 2009-12-25 09:53 |只看该作者
"运行时检查对象是否有某个方法"是第2种方式:
面向对象有两种方式:
1种是:你“是”某种东西,所以你“能”做什么事情。(静态类型)
2种是:你“能”做某件事情,所以你“是”某种东西(动态类型)

这两种方式,好比:
1。你是英雄,所以你救美女
2。你救美女,所以你是英雄

通过检查你是否救过美女,就可以判断你是否是英雄。

第一种方式,好比小偷说“我们是小偷,所以要偷东西。这就是我们偷东西的理由。”
“你是当官的,除了明显是好官的人外,那么都是贪官。既然你不是明显的好官,当然你就会贪了。不管你是否贪过。。。”

[ 本帖最后由 axgle 于 2009-12-25 09:59 编辑 ]

论坛徽章:
0
42 [报告]
发表于 2009-12-25 09:54 |只看该作者
JAVA就是你要的语言啊

论坛徽章:
0
43 [报告]
发表于 2009-12-25 10:09 |只看该作者
原帖由 axgle 于 2009-12-25 09:53 发表
"运行时检查对象是否有某个方法"是第2种方式:
面向对象有两种方式:
1种是:你“是”某种东西,所以你“能”做什么事情。(静态类型)
2种是:你“能”做某件事情,所以你“是”某种东西(动态类型)

这两 ...


1 合逻辑。
2有问题,你“能”做某件事你就“是”某东西么,未必吧。拿你的例子说
英雄一定会救美女,但救美女的未必是英雄,比如某男为追到某美女,自己找朋友帮忙布置了英雄救美情景,他不是你说的英雄吧,呵呵

论坛徽章:
0
44 [报告]
发表于 2009-12-25 11:55 |只看该作者
确实没必要,因为你用汇编语言就能编写任何程序。

论坛徽章:
0
45 [报告]
发表于 2009-12-25 12:05 |只看该作者
原帖由 xiaonanln 于 2009-12-25 11:55 发表
确实没必要,因为你用汇编语言就能编写任何程序。

用C语言就能编写任何程序。你这还不够极端,直接用01机器码算了

论坛徽章:
0
46 [报告]
发表于 2009-12-25 12:10 |只看该作者
这个愚蠢的功能是谁想出来的!?
C语言没这个功能,原因是C语言没别要有这个傻逼愚蠢的功能。

论坛徽章:
0
47 [报告]
发表于 2009-12-25 19:39 |只看该作者
原帖由 yyoc 于 2009-12-25 12:10 发表
这个愚蠢的功能是谁想出来的!?
C语言没这个功能,原因是C语言没别要有这个傻逼愚蠢的功能。

你是否以为世界上只有c就足够了?
而实际上,c的适用范围已很小了。

论坛徽章:
0
48 [报告]
发表于 2009-12-25 21:11 |只看该作者
语言之争就没意思了。。。

语言也得进步,现在的软件是越来越庞大。

[ 本帖最后由 cqx2004 于 2009-12-25 21:15 编辑 ]

论坛徽章:
0
49 [报告]
发表于 2009-12-26 11:55 |只看该作者
任何一项功能都有他存在的理由。

论坛徽章:
0
50 [报告]
发表于 2009-12-26 15:59 |只看该作者
原帖由 forumGpoint 于 2009-12-25 10:09 发表


1 合逻辑。
2有问题,你“能”做某件事你就“是”某东西么,未必吧。拿你的例子说
英雄一定会救美女,但救美女的未必是英雄,比如某男为追到某美女,自己找朋友帮忙布置了英雄救美情景,他不是你说的英雄 ...


function 美女获救( 某人 ){
   if (  某人.has 救美女 ){
      某人.救( 美女)
   }
}

ok ,这是动态语言

静态语言的:

function 美女获救( 英雄 ){
   英雄.救(美女)
}

call 美女获救(项羽) //ok,项羽是英雄
call 美女获救(阿Q)  //不行阿,阿Q不是英雄
                          //阿Q不乐意了,我虽然不是英雄,吴妈落难也不会见死不救的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP