問題タブ [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.
c++ - コンパイル時にオブジェクト型が不明である可能性はありますか?
現在、動的バインディングと仮想関数について学んでいます。これは Accelerated C++ の第 13 章からのものです。
[...] その決定は実行時に行いたいと考えています。つまり、関数に渡されるオブジェクトの実際のタイプに基づいて、システムが正しい関数を実行するようにする必要があります。これは、実行時にのみわかります。
コンパイル時にオブジェクトの型が不明になる可能性があるという考え自体がわかりません。ソースコードを見れば一目瞭然ですよね?
asp.net-mvc - 動的バインディングを使用してラジオのリストをバインドするにはどうすればよいですか?
コントローラーでコントロールのリストをバインドしたい。
テキストボックス、チェックボックス、またはドロップダウンに問題はありません。
例えば、
これらは、コントローラーで動的にバインドする同じ名前を持っています。
ご覧のとおり、これらの名前は同じではありません
しかし、私はラジオグループのためにこれを行うことはできません.
正しく選択するには、同じ名前にする必要があります。
これをリストにバインドすることはできません。
何か案は ?
clojure - Clojure の with-local-vars と with-bindings の違い
Clojurewith-local-vars
とのドキュメントだけでwith-bindings
は、この 2 つを区別するのに十分ではありません。ヒントはありますか?
java - 動的バインディングと親クラスからの子のみのメソッドの呼び出しの設計が異なるのはなぜですか?
メソッドをオーバーライドする場合、Java は動的バインディングに従います。しかし、子オブジェクトを参照している親参照変数から子のみのメソッドを呼び出すと、コンパイル エラーが発生します。
java がこの設計に従うのはなぜですか (つまり、2 番目のケースで動的バインディングがないのはなぜですか)。
wpf - 行ごとにリストビューのコンボボックス itemsource を動的に更新する
現在、3 つのコンボボックスを含むリストビュー ボックスがあります。私はSQLデータベースからそれらを移入しています。行ごとに、2 番目のコンボボックスで選択した値に基づいて、3 番目のコンボボックスの内容を変更したいと考えています。
コンボボックスは次のようになります: cmbx1 (従業員 [ジャック、ジル、トム、リサ])、cmbx2 (製品 [ペン、鉛筆、ホッチキス])、cmbx3 (色 - 製品で利用可能な色に基づいて動的になります)
製品と色のオプション: ペン [赤、青、黒]; 鉛筆[黒、オレンジ、赤]; ホッチキス[ピンク、ティール、パープル、ブラウン]
Row1 でユーザーがペンを選択すると、その製品で使用可能な色のみがその行のカラー コンボボックスに表示されます。次の行には、選択した製品に基づいて異なる色のオプションが表示される場合があります。
これは可能ですか、それとも結果を達成するための別の方法を見つける必要がありますか?
これが現在持っているものです...
コードビハインド
ありがとう!
java - Java の静的および動的バインディング、アップキャスト、オーバーロードの混合
次のコードがあるとしましょう
基本的に、TestEqual クラス (もちろん Object を拡張します) には、Object から equals メソッドをオーバーロードするメソッドがあります。
また、いくつかの変数があります。TestEqual としてインスタンス化されたオブジェクト t1、t2、TestEqual としてインスタンス化された TestEqual t3、およびオブジェクトとしてインスタンス化されたオブジェクト o1 です。
プログラムを実行すると、これが出力になります。
この例は、通常の Car c = new Vehicle(); よりも少し複雑に見えます。c.drive(); メソッドを呼び出すオブジェクトはその型とは異なるインスタンスであり、メソッドのパラメーターもその型とは異なるインスタンスであるためです。
バインディングに関して、各メソッドを段階的に呼び出したときに何が起こるかを正しく理解しているかどうかを確認したいと思います。
t1 は TestEqual オブジェクトと見なされます。メソッド equals はオーバーロードされているため、バインディングは静的です。これは、t2 をオブジェクトとして渡すことを意味し、オブジェクト スーパークラスから継承された equals メソッドを呼び出すため、テキストは表示されません。
これは少し奇妙に思えます。t3 は TestEqual オブジェクトであるため、「In equals from TestEqual」と表示されることを期待していたので、t1 の equals を呼び出す必要があります。ここでの私の説明は、t1 は静的にバインドされ、オブジェクトと見なされるため、Object クラスから継承されたメソッド equals が呼び出され、パラメーター TestEqual t3 が Object にアップキャストされるということです。しかし、これは t1.equals(t2) からの前の説明が間違っているということではないでしょうか?
t3 は TestEqual オブジェクトで、パラメーター o1 は Object であるため、Object から継承された equals メソッドが呼び出され、何も出力されません。
t3 は TestEqual オブジェクトで、パラメーターは TestEqual オブジェクトであるため、TestEqual からオーバーロードされたメソッドが呼び出され、「In equals from TestEqual」が出力されます。
t3 は TestEqual オブジェクトであり、パラメーターは静的バインディング (メソッドのオーバーロード) により Object であるため、Object から継承された equal メソッドが呼び出され、何も出力されません。
scala - 抽象型が Scala に含まれる場合、動的バインディングはありませんか?
Martin Odersky のProgramming in Scalaで抽象型の Animal/Food の例を試していたとき、
次のエラーが発生しました。
Martin による元の例はbessy.eat(new Fish)
で、これは間違いなく失敗しますが、同様に失敗するとは思っていませんでしGrass
た。上記のエラーは、 : の代わりに be を使用することで回避できbessy
ます。Cow
Animal
val bessy:Cow = new Cow
これは、ここでは動的バインディングが機能しないということですか?
編集: Scala での通常の継承のための単純な動的バインディング:
そして、私はこれを持っていました.Childx:Parent
も与えました: