問題タブ [overriding]
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.
javascript - JavaScriptプロトタイプを使用してメソッドを呼び出す
オーバーライドされている場合、JavaScriptのプロトタイプメソッドからベースメソッドを呼び出すことは可能ですか?
java - Javaで@Overrideとは何ですか?
@Override
スーパークラスにそのメソッドがあることをコンパイラにチェックさせる以外に、メソッドに注釈を付ける理由はありますか?
c# - このようにしないと、C# で保護されたメンバーにアクセスできないのはなぜですか?
このコード:
次のエラーが生成されます。
タイプ 'C' の修飾子を介して保護されたメンバー 'CF(D)' にアクセスできません。修飾子はタイプ 'D' (またはそれから派生したもの) でなければなりません
彼らはいったい何を考えていたのでしょうか。(そのルールを変更すると何かが壊れるでしょうか?) そして、F を公開する以外にそれを回避する方法はありますか?
編集:これがなぜなのか理由がわかりました(Gregに感謝します)が、合理性についてはまだ少し当惑しています。与えられた:
D が EF を呼び出せないのはなぜですか?
エラーメッセージは編集されているため、タイプミスがある可能性があります。
c++ - サブクラス化時の静的変数のオーバーライド
私はクラスを持っています。それをAと呼びましょう。そのクラス定義内には次のものがあります。
つまり、パス オブジェクトへの静的な (クラス全体の) ポインターを宣言しています。このクラスのすべてのインスタンスは、同じ共有データ メンバーを持つようになります。このクラスに基づいて構築し、より特殊な形式にサブクラス化し、動作を階層化し、各クラスが独自のパス オブジェクトを持ちます (ただし、バウンディング ボックスの計算やペイント ルーチンの呼び出しなどの退屈なビットを繰り返す必要はありません)。 )。
クラスFを作成するためにサブクラス化する場合(たとえば)、FでAから継承された描画ルーチンを使用する必要がありますが、Fで宣言された静的(クラス全体)のパスオブジェクトを使用します。上記の宣言をプライベート セクション (および派生クラス F でそれを繰り返します) を保護セクションに配置しようとしましたが、すべて喜びがありませんでした。
なぜこれが起こっているのか、私はある程度見ることができます:
オブジェクトがクラス F であっても、F::path ではなく A::path を参照しています。
これを回避し、基本クラスで定義された描画コードを引き続き使用し、すべてのクラス (おそらく基本クラスを除く) を実際にインスタンス化できるようにしながら、各クラスが静的パス オブジェクトを維持できるようにするエレガントな方法はありますか?
actionscript - アクションスクリプトで実行時にセッター関数をオーバーライドするにはどうすればよいですか?
セッター関数とゲッター関数を備えた AS クラスがあります。このクラスのインスタンスの 1 つを微調整して、セッター関数がローカル変数に割り当てる前に入力を処理するようにする必要があります。
または、より精巧な方法で、以下の例で $$$ の代わりに何を使用すればよいですか?
c - C で関数呼び出しをオーバーライドする
呼び出しをログに記録するために、さまざまな API への特定の関数呼び出しをオーバーライドしたいのですが、実際の関数に送信される前にデータを操作したい場合もあります。
たとえばgetObjectName
、ソース コードで関数を何千回も使用するとします。この関数の動作を変更して別の結果を確認したいので、一時的にこの関数をオーバーライドしたいことがあります。
次のような新しいソース ファイルを作成します。
通常どおりに他のすべてのソースをコンパイルしますが、API のライブラリにリンクする前に、まずこの関数にリンクします。オーバーライド関数内で実際の関数を呼び出せないことを除いて、これは正常に機能します。
リンク/コンパイル エラー/警告を取得せずに関数を「オーバーライド」する簡単な方法はありますか? 理想的には、リンク オプションをいじったり、プログラムの実際のソース コードを変更したりするのではなく、余分なファイルを 1 つか 2 つコンパイルしてリンクするだけで関数をオーバーライドできるようにしたいと考えています。
android - Android オーバーライド明示的インテント
私のアプリには、コンポーネント セット (明示的なインテント) を持つ に intent-filter
応答するが必要です。以下に例を示します。Intent
は特定のコンポーネント ( ,) 用に作成されているintent-filter
ため、インテントをまったく検索せずに起動するだけです。これを行う方法はありますか?
ありがとう、Isaac Waller
PS: 「いいえ」と答えないでください。Intent
Activity
perl - Perl でのオーバーライドされたメソッドの検出
先週、サブクラスのメソッドを誤ってオーバーライドしてしまい、2 度噛みつきました。私は継承のファンではありませんが、職場のアプリケーションでこれを (ab) 使用しています。私がやりたいのは、メソッドが親メソッドをオーバーライドしていることを示すための宣言構文を提供することです。このようなもの:
ここにはいくつかの問題があります。まず、メソッドのロードが何らかの理由で遅延した場合 (たとえば、AUTOLOAD を介してロードされたメソッドや、後でシンボル テーブルにインストールされたメソッド)、これはそれらのメソッドを検出しません。
継承ツリーのウォークも同様にコストがかかる可能性があります。Class::Sniffでこれを行いますが、コードの実行にはあまり適していません。継承ツリーをたどって、適切なシンボル テーブルに定義された CODE スロットがある場所を単純に一致させることができます。その方が高速ですが、メソッド キャッシュが無効になっている場合、それらの結果をキャッシュすると壊れてしまいます。
だから私は2つの質問があります.これは合理的なアプローチですか?メソッドキャッシュが変更されたかどうかを確認できるフックはありますか? (「perldoc perlobj」で「キャッシュ」を検索してください)。
もちろん、これは本番コードを壊すべきではありません.TEST_HARNESS環境変数がアクティブな場合にのみ失敗するか警告することを考えています(本番コードがTEST_HARNESSを設定する場合は、強制的に非アクティブにするための明示的な環境変数を持っています)何らかの理由で環境変数)。
visual-studio - Visual Studio & SubVersion : マシン固有のファイルについて
例として、app.config ファイルを含む単体テスト プロジェクトがあります。app.config ファイルは、ビルド サーバーで動作するように構成されています。しかし、テストをローカルで (ローカル データベースを使用して) 実行したい場合は、app.config を変更する必要があります...毎回... app.config を決して変更せずに、アプリをオーバーライドする別のファイルを作成する方法はありますか。設定構成?(Subversion で破損した app.config を誤ってコミットする人がないようにするには?)
(もちろん、web.config についても同じことがカウントされます...)
thx、リーベン・カルドエン
gridview - レンダリング中にグリッドビューの行を置き換える
グリッドビューにバインドされたデータテーブルがあり、RowDataBound イベントでフィールドの値をチェックして、グリッドビュー行に何を表示するかを決定します。
ただし、場合によっては、行のデータ値を計算できないときに、すべての列にまたがる単一のラベルを持つ行を表示したいことがあります。
グリッドビューがコントロールの削除/追加にバインドされている場合、単一行のレンダリングをオーバーライドする方法はありますか?