这在计算机科学中被称为什么?

thv*_*hvo 7 apache-flex computer-science mate

许多编程语言和框架都会/允许/需要一些我似乎无法找到名称的东西,即使计算机科学中可能存在一个.他们基本上做的是按名称绑定到变量/对象/类/函数.

Flex示例("selectAll()"):

<mx:Button click="selectAll()" label="Select All"/>
Run Code Online (Sandbox Code Playgroud)

配对示例("价格"):

<Injectors target="{QuotePanel}">
  <PropertyInjector targetKey="price" source="{QuoteManager}" sourceKey="currentPrice" />
</Injectors>
Run Code Online (Sandbox Code Playgroud)

Java示例("Foo"):

Class.forName("Foo")
Run Code Online (Sandbox Code Playgroud)

还有很多其他的例子.你明白了.令我感到困扰的是,在编译时几乎没有办法验证这一点,并且IDE在代码完成,导航和重构方面无法提供帮助.但这不仅仅是重点.

我的问题是,这叫什么?我不认为这是其中之一:动态绑定,名称绑定,反射

更新:不,这不是一个测验,抱歉,如果它听起来像一个.这只是编程的"名字那首歌".

更新:有帮助的答案:

  • 来自Tim Lesher:它被称为"后期绑定","动态绑定"或"运行时绑定".它通过字符串绑定的事实只是一个实现细节 ......
  • 来自康拉德鲁道夫:...... 这只是一个口译员的输入.

更新:正如人们正确指出的那样,一些示例是后期绑定,一些是反射,一些是运行时评估(解释)等.但是,我得出结论,可能没有描述它们的名称.这只是一堆具有共同点的例子,但还不足以给它起个名字.我喜欢"一切都是字符串"的答案,但即使它很有趣,它也不完全正义.

Tim*_*her 15

它被称为"后期绑定","动态绑定"或"运行时绑定".它通过字符串绑定的事实只是一个实现细节,尽管它确实意味着字符串到符号的映射存在于运行时(某些语言,如c ++,不提供).

另一方面,"内省"或"反射"指的是找出对象在运行时实现的接口,方法或属性的能力.

确实,在执行之前无法验证动态绑定符号; 这就是它们与静态绑定符号的不同之处.


Jon*_*n B 7

后期绑定