问题标签 [dynamic-binding]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1737 浏览

c++ - C++ 中的动态绑定示例

这段代码是 Objective-C [1]中动态绑定的经典示例:

因此,作为一名在这门语言方面有一定经验并在 C++ 中迈出第一步的程序员,我想知道:鉴于它还支持某种后期绑定,如何在 C++ 中实现它?

在此示例中,我们假设每个成员都可以属于任何类,但是weight当然必须实现该方法。如今,也可以使用诸如协议之类的机制来强制实现兼容(然后声明memberid<Matter>),但根本不需要它就可以工作。

在 C++ 中,用所谓的虚函数创建一个超类是唯一的选择吗?

编辑

澄清一下,上面的代码可以看作是一个容器类方法,它返回其组件的总重量。您事先不知道容器上会出现什么,它可以是任何对象。你只知道这些对象响应消息weight


[1]面向对象编程,一种进化方法,第 2 版,1991 - Brad J. Cox,Andrew J. Novobilski - 第 4 章,第 65 页

0 投票
1 回答
555 浏览

c++ - 构造函数内的绑定

可能重复:
在构造函数中调用虚函数

在 C++ 中,B 类的一个对象从 A 类派生,在 C++ 中,A 的 c'tor 在 B 的 c'tor 之前被调用,为什么?如果 A 的 C'tor 调用虚函数会发生什么?它会调用 A 的 B 的虚函数吗?

0 投票
3 回答
75 浏览

java - 声明类型和创建类型之间的关系

我对以下代码有疑问(这是调用动态绑定吗?)。我对3点感到困惑。

首先,变量 pq 的意思是什么?pd 仍然是 P 的数据类型还是 Q?

其次,当我调用 pq.m(pp) 方法时,为什么结果变成了 Q::P 而不是 P::Q?

最后,这是什么意思 ((P) qq).m(qq);?我希望有人能解决我的问题。

以下代码的结果将是
P::Q、Q::P、Q::Q、R::P、Q::P、Q::Q、Q::Q

0 投票
1 回答
1014 浏览

jsf - JSF:UI 组件在单个页面中动态重新绑定,无需重新加载。可能的?

受到考虑动态表渲染的文章的启发(感谢 BalusC),我终于在稍早之前得到了我想要的确切结果。这给出了非常完美的结果,因为我可以控制每一列尊重业务逻辑要求的行为。但是,如果该表是我正在进行一些动态绑定实验的实验性“静态”页面的一部分,那就太酷了。

一旦我不得不将这些想法合并到现有代码中(或多或少愚蠢地对动态表达式一无所知),我就面临以下问题:动态绑定在页面加载期间似乎只工作一次. 好的,我认为我缺少将动态绑定 bean 和“主”页面 bean 分开(控制用户操作,例如用户单击树节点)。

我当前页面的一个简化实例如下(假设你在左边有一棵树,当你点击一个树节点时,你必须得到另一个数据表 [PrimeFaces used]):

一棵树,表格选择器(非常完美)

一旦用户单击上面的树节点,就会动态呈现的表

tableViewsPageBean定义为一个@ViewScopedbean,并且dynamicDataTableBean是一个@RequestScopedbean(我不应该认为它可能有帮助——我只是有一个想法)。

但是,对我来说,在页面加载期间仅请求一次以下代码:

我不知道,但是是否可以强制执行此代码以重新绑定上面提到的面板组中的组件而无需重新加载页面?提前致谢。

0 投票
1 回答
877 浏览

wpf - WPF 组合框动态绑定

我在数据网格edititemtemplate中有一个组合框,我在组合框加载事件中编写了一些代码,例如:

代码:

XAML 代码:

但问题是,当我尝试编辑组合框时,它没有显示已选择的组合框,任何人都可以帮助我。

谢谢,@nag。

0 投票
3 回答
8814 浏览

c# - C# 中的动态绑定

内部如何分配引用,引用A包含B的引用? 任何人都可以解释发生了什么事吗?

0 投票
1 回答
1945 浏览

javascript - 在 JavaScript 中创建动态绑定

我正在实现一项功能,该功能允许我将列动态添加到JavaScript表中:

var rows = [[]]保存表数据...info[[]]包含JSON从数据库查询的对象。这段代码的问题:

我正在尝试动态col绑定info. 但我不知道是否可能......我怎么能这样做?假设用户添加了一个新列,TC_12。因此,我不知道TC_12存在,所以我想动态出价colinfo[i]这样它就可以以某种方式让我出价info[i].TC_12。有任何想法吗?

0 投票
3 回答
1451 浏览

java - Effective Java item 19 - 只使用接口定义类型

我有一个实现两个接口的抽象类。我的想法是否正确因为我使用了两个接口,我不能使用任何一个接口来实现动态绑定?原因是如果我要使用其中一个接口,我显然无法从另一个接口调用方法,因为类型系统只允许子类型调用由我用来声明多态变量的接口定义的方法?

因此,我的实际问题是,我只真正使用接口来确保我的抽象类(或子类)肯定提供方法的实现是否可以?这似乎与第 19 条所说的相矛盾——你应该只对类型使用接口(我认为这意味着多态性)。

例子:

0 投票
6 回答
1167 浏览

c++ - 复制对象上的 C++ 中的动态绑定

我在虚函数中遇到问题:以下是一些代码作为示例:

结果: A::print() B::print() C::print() A::print()

我知道这是一个多态,并且知道有一个名为 virtual-function-table 的表,但我不知道它是如何实现的,并且

结果是:A::print() 不是 B::print(),为什么它没有多态性。谢谢你!

0 投票
2 回答
11044 浏览

c# - 如何避免转换器与背后的 WPF 代码中的多重绑定发生冲突

我在后面的代码中动态创建 WPF 元素,并且对于Grid我正在构建的每一行,它由一个CheckBox和一个动态数字组成TextBoxes。需要的交互如下:

  • 如果TextBoxes一行中的所有值都为0,则将该CheckBox IsChecked属性设置为true并禁用它。
  • 如果其中之一TextBoxes从 更改0,则启用 CheckBox并设置IsCheckedfalse
  • 如果用户单击CheckBox,则将所有关联设置TextBoxes0并禁用CheckBox

我能够使用以下代码完成最后一个的第一部分:

和转换器:

但是,在尝试创建另一个转换器来完成其他功能时,我遇到了转换器相互踩踏的问题,因为所有功能都基于该CheckBox.IsChecked属性。

无论如何使用一个或两个多重绑定转换器来完成上述所有操作?我真的很想避免为了做到这一点而不得不创建一大堆事件并维护它们。