問題タブ [static-polymorphism]

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 投票する
1 に答える
529 参照

c++ - CRTP - プライベート メソッドを作成できますか?

私は静的ポリモーフィズムを実装しています:

このコードは、void impl() が virtual および private である動的ポリモーフィック クラスの静的実装です。

ポリモーフィズム(静的)を達成しました。しかし、Base クラスからアクセスできるようにするために、メソッド void impl() を public にする必要がありました。メソッド void impl() を再びプライベートにしたい。それはできますか?

更新: 書きたくない

Derived クラスでは、Derived のすべてのメンバーへの Base アクセスが許可されるためです。

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

java - すべての実行時バインディングがコンパイル中の静的バインディングであったというのは本当ですか?

トピックバインディングについてかなり混乱しています。静的バインディングでわかっているように、参照しているオブジェクトではなく、バインディングを決定するために参照のタイプがチェックされます。動的バインディングでは、参照が指しているオブジェクトのタイプが考慮されます。

上記の例では、コンパイル時に、Line1 と Line2 の両方が静的バインディングによって処理され、A クラス メソッド show( 参照の型が A であるため) にリンクされることがわかります。しかし、実行時に呼び出しが解決され、line1 が A クラスのメソッド show() にリンクされ、line2 が B クラスのメソッド、つまりオブジェクトのタイプにリンクされます。つまり、動的バインディングと言えます。

したがって、私の主な目的は、次のことを知ることです。

  1. 動的バインディングは常に静的バインディングの後に行われますか? または私は何か間違ったことを理解していますか?

  2. それが本当なら、すべてのメソッドが実行時に動的にリンクされるというのは本当ですか?

  3. それを一般化できますか?