日期:2011-03-22 16:17:00 来源:本站整理
<b>动态绑定</b>[Java编程]
本文“<b>动态绑定</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
在doStuff()的代码里,最让人吃惊的是固然我们没作出任何特别指导,采纳的操作也是完好精确和得当的.我们知道,为Circle调用draw()时履行的代码与为一个Square或Line调用draw()时履行的代码是差别的.但在将draw()消息发给一个匿名Shape时,按照Shape句柄当时衔接的实际范例,会呼应地采纳精确的操作.这当然令人惊奇,因为当Java编译器为doStuff()编译代码时,它并不知道自己要操作的精确范例是什么.固然我们确切可以保证终究会为Shape调用erase(),为Shape调用draw(),但并不能保证为特定的Circle,Square大概Line调用什么.但是最后采纳的操作一样是精确的,这是怎么做到的呢?
将一条消息发给对象时,假如并不知道对方的具体范例是什么,但采纳的行动一样是精确的,这种情形就叫作“多形性”(Polymorphism).对面向对象的程序计划语言来说,它们用以实现多形性的办法叫作“动态绑定”.编译器和运行期系统会负责对全部细节的掌握;我们只需知道会发生什么事情,并且更重要的是,若何操纵它帮忙自己计划程序.
有些语言要求我们用一个特别的关键字来答应动态绑定.在C++中,这个关键字是virtual.在Java中,我们则完好没必要记着增添一个关键字,因为函数的动态绑定是自动举行的.所以在将一条消息发给对象时,我们完好可以必定对象会采纳精确的行动,即便此中触及上溯造型之类的处理.
以上是“<b>动态绑定</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
- ·上一篇文章:抽象的底子类和接口
- ·下一篇文章:多形对象的交换操纵
- ·中查找“<b>动态绑定</b>”更多相关内容
- ·中查找“<b>动态绑定</b>”更多相关内容
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论