静态绑定和动态绑定
  7M0vcdGauhIx 2023年11月02日 51 0

在面向对象程序中,绑定指的是一个方法的调用与方法所在的类(方法主体)关联起来,是一个把过程调用和响应调用所需要执行的代码加以结合的过程。绑定分为静态绑定(前期绑定)和 动态绑定(后期绑定)。

(1)静态绑定:指在程序编译过程中,把函数(方法或者过程)调用与响应调用所需的代码结合的过程。在程序执行前就已经被绑定(编译过程就确定调用方法所属类),静态绑定发生于编译期,因此不能利用任何运行期的信息,它针对函数调用和函数的主体,或变量与内存中的区块。

(2)动态绑定:指在程序运行期间(非编译期)判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。所以动态绑定是在程序运行时进行的,因此,一个给定的过程调用和代码的结合直到调用发生时才进行。动态绑定是和类的继承以及多态相联系的,在继承关系中,子类是父类的一个特例,所以父类对象可以出现的地方,子类对象也可以出现。因此在运行过程中,当一个对象发送消息请求服务时,要根据接收对象的具体情况将请求的操作与实现的方法进行连接,即动态绑定。动态绑定针对运行期产生的访问请求,只用到运行期的可用信息。在面向对象的代码中,动态绑定意味着决定哪个方法被调用或哪个属性被访问,将基于这个类本身而不基于访问范围。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

7M0vcdGauhIx