在面向对象程序中,绑定指的是一个方法的调用与方法所在的类(方法主体)关联起来,是一个把过程调用和响应调用所需要执行的代码加以结合的过程。绑定分为静态绑定(前期绑定)和 动态绑定(后期绑定)。
(1)静态绑定:指在程序编译过程中,把函数(方法或者过程)调用与响应调用所需的代码结合的过程。在程序执行前就已经被绑定(编译过程就确定调用方法所属类),静态绑定发生于编译期,因此不能利用任何运行期的信息,它针对函数调用和函数的主体,或变量与内存中的区块。
(2)动态绑定:指在程序运行期间(非编译期)判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。所以动态绑定是在程序运行时进行的,因此,一个给定的过程调用和代码的结合直到调用发生时才进行。动态绑定是和类的继承以及多态相联系的,在继承关系中,子类是父类的一个特例,所以父类对象可以出现的地方,子类对象也可以出现。因此在运行过程中,当一个对象发送消息请求服务时,要根据接收对象的具体情况将请求的操作与实现的方法进行连接,即动态绑定。动态绑定针对运行期产生的访问请求,只用到运行期的可用信息。在面向对象的代码中,动态绑定意味着决定哪个方法被调用或哪个属性被访问,将基于这个类本身而不基于访问范围。
标签:调用,静态,方法,绑定,编译,动态,过程 From: https://blog.51cto.com/zdytesting/7051009