MAIBILAI

late-binding

全部标签

java - Java 中的后期绑定(bind)

我搜索了所有关于堆栈溢出延迟绑定(bind)的类似问题,我强烈反对任何将此问题标记为重复的人。首先,我在另一个问题上找到了这个例子,但我不明白我应该如何知道什么时候在编译时决定了什么,什么时候在运行时决定什么。基本上,我的问题的关键归结为两件事:在这个例子中,必须让我得出一个逻辑结论,即一种方法是后期绑定(bind),另一种方法是早期绑定(bind)我怎么知道在Java中执行哪个版本的方法是在运行时还是编译时决定的代码:classA{publicvoidfoo(){System.out.println("ClassA");}}classBextendsA{publicv

c++ - C++ 中的双重分派(dispatch)/多重方法

我有一个关于C++双重分派(dispatch)的问题。在下面的代码中,我希望第二组的结果与第一组的结果相匹配。我不知道实际类型(除非我尝试dynamic_cast)但我知道该对象继承自BaseClass类型。实现此目标的最有效(性能方面)方法是什么?在谷歌搜索了一段时间后,我发现了双重分派(dispatch)和loki多重方法。我在Shape示例中遇到的问题是,在我的应用程序中,Processor和BaseClass是完全独立的,并且没有它们可以相互调用的通用方法。其次,只有一个处理器(即没有任何东西继承自它)。感谢您的帮助。#include<iostream>#inclu

PHP __DIR__ 评估运行时(后期绑定(bind))?

是否有可能在运行时获取PHP文件的位置?我正在寻找类似于魔术常量__DIR__的东西,但在运行时评估为后期绑定(bind)。self和static的相似区别:__DIR__~self???~static我的目标是在抽象类中定义一个方法,使用__DIR__为每个继承类分别求值。示例:abstractclassParent{protectedfunctiongetDir(){//return__DIR__;//doesnotworkreturn<<Ineedthis>>;//}}classHeirextendsParent{publicfunctiondoSomet

c++ - 父类的父类中的虚函数

这个问题在这里已经有了答案:C++"virtual"keywordforfunctionsinderivedclasses.Isitnecessary?(9个回答)关闭6年前。以下代码是后期绑定(bind)test()方法,但它不应该提前绑定(bind)吗?因为test()方法在B类中不是虚拟的(但在A类中),我们使用的是B类的指针。classA{public:virtualvoidtest(){cout<<"testa";}};classB:publicA{public:voidtest(){cout<<"Testb&#

c++ - 延迟绑定(bind)的问题!

我在面试中被问到这个问题。据我所知,后期绑定(bind)是在运行时动态识别符号。如果我错了,请纠正我。我被问到一个问题,比如我们在C++中使用后期绑定(bind)时会遇到的一些问题。我实际上对此没有自己的想法。能否请您分享一下您在职业生涯中可能遇到的问题。谢谢。 最佳答案 即使您有函数指针,也会使用后期绑定(bind)。后期绑定(bind)是运行时多态性。它基本上意味着与虚函数相关的问题。http://www.learncpp.com/cpp-tutorial/124-early-binding-and-late-binding/L

c++ - 使用 C++Builder 后期绑定(bind) COM 对象

我们正在从C++Builder2010应用程序连接到某些第3方COM对象。目前我们导入类型库并生成组件包装器,然后能够以相当自然的方式进行方法调用和访问属性。object->myProperty=42;object->doSomething(666);然而,我们已经被COM对象接口(interface)(仍在扩展和开发中)的更改所困扰,导致我们自己的应用程序失败,因为某些方法GUID似乎已失效-即使对接口(interface)的唯一更改已经是添加了一种新方法)。延迟绑定(bind)已被建议作为解决此问题的一种方式。我认为这需要更改我们的代码ratherlikethis:ob

函数重载的 C++ 后期绑定(bind)

假设我有这两个类:classHello{//memberspublic:virtualintdoit(){return3;}};classWow:publicHello{//memberspublic:virtualintdoit(){return2;}};intmain(intargc,constchar*argv[]){Hello*c=newWow();returnc->doit();}众所周知,这段代码将由C++中的后期绑定(bind)处理,由Clang在LLVMIR中实现,如下所示:;...%7=bitcast%class.Wow*%5to%class.Hello*sto

java - Java 中的绑定(bind)和调度有什么区别?

相关名称太多:早期和晚期绑定(bind)、静态和动态调度、运行时与编译时多态性等,我不明白其中的区别。我找到了一个清晰的explanation,但它是正确的吗?我将解释JustinC:Binding:是确定一个变量(对象?)的类型。如果它是在编译时完成的,那么它就是早期绑定(bind)。如果它是在运行时完成的,那就是后期绑定(bind)。Dispatch:正在确定哪个方法与方法调用匹配。静态调度是在编译时计算方法,而动态调度是在运行时执行。Binding是否将原始变量和引用变量分别与原始值和对象相匹配?编辑:请给我一些清晰的引用资料,以便我可以阅读更多相关信息。

javascript - knockout.js - 模态的延迟数据绑定(bind)?

我正在使用knockout.js来显示员工列表。我在页面上有一个隐藏的模态标记。单击单个员工的“详细信息”按钮时,我想将该员工数据绑定(bind)到模式弹出窗口。我正在使用ko.applyBindings(employee,element)但问题是当页面加载时,它期望模态开始时绑定(bind)到某些东西。所以我想知道,是否有进行延迟/延迟数据绑定(bind)的技巧/策略?我查看了虚拟绑定(bind),但文档的帮助不够。谢谢! 最佳答案 我想提出一种在MVVVM中使用模态的不同方法。在MVVM中,ViewModel是View的数据,而

javascript - Function.prototype.bind() 总是很慢吗?

我正在编写一个开源javascript库,并且大量使用.bind()方法,因为我认为面向对象的代码看起来更清晰。(尽管有争议)示例A1:varthat=this;setTimeout(function(){that.method();},0);对比B1:setTimeout(this.method.bind(this),0);或者,更实用的代码部分A2:remoteDataSource.getData(function(a,b,c,d){obj.dataGetter(a,b,c,d);})对比B2:remoteDataSource.getData(obj/*orprototype*/.
12