早期的(early)和后期装订(late binding)的区别

早期绑定和后期绑定是与多态性相关的两个概念。早期绑定发生在编译时,后期绑定发生在运行时。早期绑定和后期绑定的关键区别在于早期绑定使用类信息来解析方法调用,而后期绑定使用对象来解析方法调用。...

关键区别——早期绑定与后期绑定

早期绑定和后期绑定是与多态性相关的两个概念。早期绑定发生在编译时,后期绑定发生在运行时。早期绑定和后期绑定的关键区别在于早期绑定使用类信息来解析方法调用,而后期绑定使用对象来解析方法调用。

Java等编程语言支持面向对象编程(OOP)。它是一种允许使用对象构造程序或软件的范例。软件中有多个对象。这些对象彼此连接并使用方法传递消息。每个物体都有特性和行为。特征由属性或属性描述。这些行为是用方法描述的。对象学生可以具有诸如姓名、年龄等特征,并用属性表示。目标学生可以有学习、阅读等行为,并用方法来表征。OOP的一个主要支柱是多态性。它允许一个对象以多种方式表现。早期绑定和后期绑定是多态性中的两个概念。重载方法是使用早期绑定绑定绑定的。重写的方法使用后期绑定进行绑定。

目录

1.概述和主要区别
2. 什么是早期绑定
3. 什么是延迟绑定
4. 早期和晚期绑定的相似性
5. 并排比较-早期与晚期以表格形式装订
6. 摘要

什么是早期绑定(early binding)?

在早期绑定中,类信息用于解析方法调用。早期绑定发生在编译时。它也被称为静态绑定。在这个过程中,绑定发生在程序实际运行之前。重载方法是使用早期绑定绑定绑定的。参考以下程序。

早期的(early)和后期装订(late binding)的区别

图01等级计算

 

早期的(early)和后期装订(late binding)的区别

图02:早期绑定的主程序

根据上面的程序,Calculation类包含一个接受两个整数值的add方法和一个接受两个双精度值的add方法。在主程序中,将创建类型为Calculation的对象。当向add方法传递两个整数时,它将调用接受两个整数的add方法。当向add方法传递两个double值时,它将调用与两个double值对应的方法。这个绑定过程发生在编译时。所有需要的信息在运行前就知道了,提高了程序的效率和执行速度。

什么是后期装订(late binding)?

在后期绑定中,对象用于解析方法调用。延迟绑定发生在运行时。它也被称为动态绑定。在这个过程中,绑定发生在程序执行时。重写的方法使用后期绑定进行绑定。参考以下程序。

早期的(early)和后期装订(late binding)的区别

图03:形状等级

 

早期的(early)和后期装订(late binding)的区别

图04:圆类

 

早期的(early)和后期装订(late binding)的区别

图05:三角形类

 

早期的(early)和后期装订(late binding)的区别

图06:后期装订主程序

根据上面的程序,类形状有一个绘制方法。类圆类和三角形类扩展了形状类。因此,这两个类可以继承Shape类的属性和方法。Shape类是基类。类是派生类和圆类。类圆和类三角形也有自己的实现的draw方法。因此,Shape类中的draw方法被派生类的draw方法重写。

在主程序中,创建一个Shape类型的参考变量s。在编译时,编译器将只引用基类draw方法。在运行时,将执行不同的绘制方法。首先,s将指向Shape类型的对象。因此,调用了Shape类的draw方法。然后s将指向Circle类型的对象,并调用Circle类的draw方法。最后,s将指向Triangle类型的对象,并调用Triangle类中的draw方法。方法的调用取决于对象。因此,该对象用于解决后期绑定中的方法调用。绑定所需的信息是在运行时提供的,因此与早期绑定相比,执行速度较慢。

什么是早期绑定与后期绑定的相似性(the similarity between early binding and late binding)?

  • 早期绑定和后期绑定都与多态性有关,多态性是OOP的支柱。

早期绑定(early binding)和后期装订(late binding)的区别

早期绑定与后期绑定
使用类信息来解析在编译时发生的方法调用的过程称为早期绑定。 使用对象来解析在运行时发生的方法调用的过程称为后期绑定。
装订时间
早期绑定发生在编译时。 延迟绑定发生在运行时。
功能
早期绑定使用类信息来解析方法调用。 后期绑定使用对象来解析方法调用。
同义词
早期绑定也称为静态绑定。。 后期绑定也称为动态绑定。
发生
重载方法是使用早期绑定绑定绑定的。 重写的方法使用后期绑定进行绑定。
执行速度
早期绑定的执行速度更快。 后期绑定的执行速度较低。

总结 - 早期的(early) vs. 后期装订(late binding)

OOP通常用于软件开发。OOP的一个主要支柱是多态性。早绑定和晚绑定都与此相关。早期绑定发生在编译时,后期绑定发生在运行时。在方法重载中,使用早期绑定进行绑定。在方法重写中,使用后期绑定进行绑定。早期绑定和后期绑定的区别在于,早期绑定使用类信息来解析方法调用,而后期绑定使用对象来解析方法调用。

引用

  • 发表于 2020-10-19 04:05
  • 阅读 ( 382 )
  • 分类:IT

你可能感兴趣的文章

早疫病(early blight)和马铃薯晚疫病(late blight of potato)的区别

...,马铃薯早疫病有利于温暖的温度。 图01:番茄叶片上的早期枯萎病 晚疫病是危害马铃薯生产的重要病害。马铃薯发生早疫病时,植株下部和较老的叶片上可以看到小的黑斑。 什么是马铃薯晚疫病(late blight of potato)? 晚疫病是...

  • 发布于 2020-10-12 05:42
  • 阅读 ( 229 )

静态绑定(static binding)和动态绑定(dynamic binding)的区别

...在静态绑定中,绑定由编译器在编译时解析。它也被称为早期绑定。绑定发生在程序实际运行之前。静态绑定发生在方法重载中。参考下面用Java编写的程序。 公共空隙计算{ 公共无效金额(int x,int y){ System.out.println(“和为...

  • 发布于 2020-10-19 17:49
  • 阅读 ( 416 )

zend框架1(zend framework 1)和2.(2)的区别

...的开源PHP框架,具有zend1以外的其他特性,如名称空间、后期静态绑定、lambda函数和闭包。 PHP中有许多框架。这些框架由开发web应用程序所需的类组成。Zend就是这样一个框架,它是一个开源的框架,支持模型、视图和控制器(MV...

  • 发布于 2021-07-01 06:40
  • 阅读 ( 332 )

动态绑定(dynamic binding)和消息传递(message passing)的区别

...传递的区别是什么-关键区别的比较 关键术语 动态绑定、后期绑定、消息传递、面向对象 什么是动态绑定(dynamic binding)? 动态绑定是在执行代码时将过程调用与其代码链接起来的方法。换句话说,它发生在运行时。动态绑定也...

  • 发布于 2021-07-01 08:23
  • 阅读 ( 350 )

静止的(static)和动态绑定(dynamic binding)的区别

...动态)是java编程中的基本概念。这些概念是在学习java的早期教授的,是在面试时提出的热门问题。这是因为这些简单的概念常常让面试官知道自己对java编程有多么精通。 在我们开始讨论静态绑定和动态绑定之间的区别之前,...

  • 发布于 2021-07-12 13:01
  • 阅读 ( 322 )

春木(spring wood)和秋木|(早木与晚木)(autumn wood| (early wood vs late wood))的区别

...元素。 在温带针叶林中,春季木材(晚期木材)和早期木材(秋季木材)之间通常存在显著差异。晚熟的木材比早熟的木材密度大。当在显微镜下观察时,可以看到致密晚材的细胞壁非常厚,有非常小的细胞腔,而在这个...

  • 发布于 2021-11-29 17:09
  • 阅读 ( 259 )

什么是线圈装订机?(coil binding machines?)

... 线圈装订机通过对齐页面、打孔、插入线圈,然后卷曲和切割线圈末端来装订文件。线圈装订机也称为钢丝装订机,通常由手动操作,可装订90至300页。线圈装订机有各种梳子...

  • 发布于 2022-01-28 00:49
  • 阅读 ( 161 )

什么是线圈装订?(coil binding?)

...个简单的绑定过程,用于各种不同类型的文档。使用线圈装订构建正式演示文稿和提案并不罕见。这种装订形式也是烹饪书和说明书的一种流行选择。使用线圈装订连接的印刷材料没有合适的书脊,就像使用其他方法装订的书籍...

  • 发布于 2022-01-28 08:35
  • 阅读 ( 192 )

什么是梳子装订?(comb binding?)

... 装订在近2000年前成为一门手艺。从那时起,各种文化都找到了完善这种做法的方法,而今天有无数种方法来完成书籍装订。随着时间的推移,书籍已经被精装、冲孔装订...

  • 发布于 2022-01-28 08:36
  • 阅读 ( 254 )

什么是不同类型的装订封面?(the different types of binding covers?)

...成的卷轴、动物皮制成的羊皮纸,以及用作古代宗教文献装订材料的棕榈叶上的印刷时代已经一去不复返了。现代时代带来了现代材料,产生了无数的装订选择。 ...

  • 发布于 2022-01-28 08:37
  • 阅读 ( 181 )
贼帅的楼主
贼帅的楼主

0 篇文章

相关推荐