問題タブ [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、もちろんメソッドの実装は必須です。最近では、プロトコルなどのメカニズムを使用して、実装に互換性を持たせることもできますが (その後、 として宣言memberします id<Matter>)、機能するためにはまったく必要ありません。

C++ では、いわゆる仮想関数を使用してスーパー クラスを作成することが唯一の選択肢でしょうか?

編集

明確にするために、上記のコードは、コンポーネントの合計重量を返すコンテナ クラス メソッドと見なすことができます。コンテナに何が入るかは事前にはわかりません。それは任意のオブジェクトである可能性があります。これらのオブジェクトがメッセージに応答することだけがわかりますweight


[1]オブジェクト指向プログラミング、進化的アプローチ、第 2 版、1991 年- ブラッド J. コックス、アンドリュー J. ノボビルスキー - 第 4 章 65 ページ

0 投票する
1 に答える
555 参照

c++ - コンストラクター内のコンストラクター内でのバインディング

重複の可能性:
コンストラクター内での仮想関数の呼び出し

C++ では、クラス A から派生したクラス B のオブジェクト。C++ では、A の c'tor が B の c'tor の前に呼び出されます。A の C'tor が仮想関数を呼び出すとどうなるでしょうか? B の A の仮想機能を呼び出すか?

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に感謝)に触発されて、私はついに、少し前にここで望んでいた正確な結果を得ることができました。ビジネスロジックの要件を尊重してすべての列の動作を制御できたので、これは非常に完璧な結果をもたらしました。しかし、そのテーブルが動的バインディング実験を行っていた実験的な「静的」ページの一部である場合、それはかなりクールでした。

アイデアを既存のコードにマージする必要があると(動的式について何も知らないのは多かれ少なかれ愚かです)、次の問題に直面します。動的バインディングはページの読み込み中に1回だけ機能するようです。わかりました。動的バインディングBeanと「メイン」ページBean(ユーザーがツリーノードをクリックするなどのユーザーアクションを制御する)を分離することができなかったと思いました。

私の現在のページピースの簡略化されたインスタンスは次のとおりです(左側にツリーがあり、ツリーノードをクリックすると、まったく別のデータテーブル[PrimeFaces使用]を取得する必要があると考えてください):

ツリー、テーブルセレクター(かなり完璧に機能します)

ユーザーが上のツリーノードをクリックすると動的にレンダリングされるように意図されたテーブル

はBeantableViewsPageBeanとして定義され、はBeanです(これが役立つとは思わないでください。アイデアがありました)。@ViewScopeddynamicDataTableBean@RequestScoped

しかし、私にとって、次のコードはページの読み込み中に1回だけ要求されます。

わかりませんが、このコードを実行して、ページをリロードせずに、上記のパネルグループのコンポーネントを強制的に再バインドすることはできますか?前もって感謝します。

0 投票する
1 に答える
877 参照

wpf - WPF コンボボックスの動的バインディング

私はデータ グリッドの edititemtemplate でコンボ ボックスを持っています。

コード:

XAML コード:

しかし、問題は、すでに選択されているコンボボックスを編集しようとすると、どれが表示されないかです。

ありがとう、@ナグ。

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 - 有効な Java 項目 19 - インターフェースのみを使用して型を定義する

2 つのインターフェイスを実装する抽象クラスがあります。私は 2 つのインターフェイスを使用しているため、どちらのインターフェイスを使用しても動的バインディングを実装できないのでしょうか? 理由は、インターフェイスの 1 つを使用する場合、明らかに、他のインターフェイスからメソッドを呼び出すことができないためです。なぜなら、型システムでは、サブタイプが多態変数の宣言に使用したインターフェイスによって定義されたメソッドを呼び出すことしかできないからです。

したがって、私の実際の質問は、抽象クラス (またはサブクラス) がメソッドの実装を確実に提供するようにするために、実際にインターフェイスのみを使用していることで問題ありませんか? これは、項目 19 が述べていることと矛盾しているようです。型にはインターフェイスのみを使用する必要があります (私はそれをポリモーフィズムを意味するものと考えました)。

例:

0 投票する
2 に答える
11044 参照

c# - コンバーターがWPFコードビハインドでマルチバインディングと衝突するのを回避する方法

コードビハインドで動的にWPF要素を作成しています。作成している行ごとに、と動的な数でGrid構成されています。必要な相互作用は次のとおりです。CheckBoxTextBoxes

  • 行のすべてTextBoxesの値が。の場合は、プロパティを0に設定して無効にします。CheckBox IsCheckedtrue
  • のいずれかがTextBoxesから変更された場合は0、を有効にして CheckBoxをに設定IsCheckedfalseます。
  • ユーザーがをクリックした場合は、CheckBoxに関連付けられているすべてを設定TextBoxes0、を無効にしますCheckBox

私はこのコードを使用して最後の部分の最初の部分を達成することができました:

およびコンバーター:

ただし、他の機能を実現するために別のコンバーターを作成しようとすると、すべての機能がCheckBox.IsCheckedプロパティに基づいているため、コンバーターが相互にステップするという問題が発生していました。

1つまたは2つのマルチバインディングコンバーターを使用して上記のすべてを達成する方法はありますか?これを行うために、たくさんのイベントを作成して維持する必要はありません。