問題タブ [overloading]
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++ - C ++でのconstオーバーロードの使用は何ですか?
C++ では、関数のシグネチャは、それが const であるかどうかに部分的に依存します。これは、1 つのクラスが同じシグネチャを持つ 2 つのメンバー関数を持つことができることを意味しますが、一方は const であり、もう一方はそうではありません。このようなクラスがある場合、コンパイラは、呼び出すオブジェクトに基づいて呼び出す関数を決定します。クラスの const インスタンスの場合、関数の const バージョンが呼び出されます。オブジェクトが const でない場合、他のバージョンが呼び出されます。
この機能を利用したい状況はどのような場合ですか?
c# - C# 4.0 では、オーバーロードまたはオプションのパラメーターを使用してメソッドを宣言する必要がありますか?
C# 4.0 と C# 5.0 のスニーク プレビューについての Anders の講演を見ていて、C#でオプションのパラメーターがいつ利用可能になるかについて考えさせられました。
たとえば、FileStream
クラスのようなものには、論理的な「ファミリー」に分割できる約 15 の異なるコンストラクターがありIntPtr
ますSafeFileHandle
。
このタイプのパターンは、代わりに 3 つのコンストラクターを用意し、デフォルト設定できるコンストラクターにオプションのパラメーターを使用することで単純化できるように思われます。これにより、コンストラクターのさまざまなファミリがより明確になります [注: この変更はBCLで作成された、私はこのタイプの状況について仮説的に話しています]。
どう思いますか?C# 4.0 から、密接に関連するコンストラクターとメソッドのグループをオプションのパラメーターを持つ単一のメソッドにすることはより理にかなっていますか?それとも、従来の多オーバーロード メカニズムに固執する正当な理由はありますか?
language-agnostic - 「オーバーロード」/「オーバーロード」/「オーバーロード」とはどういう意味ですか?
プログラミングに関して「過負荷」/「過負荷」とはどういう意味ですか?
vb.net - 関数のオーバーロードとVB.NETのデフォルトパラメータ?
VB.NETでは、どちらを使用するのが良いですか:関数のオーバーロードまたはデフォルトのパラメーター?
java - Java で equals をオーバーライドする場合、Object 以外のパラメーターを使用すると機能しないのはなぜですか?
最近、興味深い行動に出くわしました。.equals() をオーバーライドして Object 以外のパラメーターを取ると、呼び出されないようです。なぜこれが起こっているのか誰にも説明できますか?OOP のポリモーフィズムに関する私の理解に違反しているようですが、何かが足りないのかもしれません。
私が見ているものを示すはるかに単純なコードを次に示します。
これを実行すると、" Contains 3? false
" が出力されます。equals(Object) 関数が呼び出されたように見えますが、機能する別の関数があります。対照的に、次のように equals を記述すると、コードは期待どおりに機能します。
パラメーターの型に基づいて、関数のどのバージョンを呼び出すかを判断しないのはなぜですか?
java - UML でのオーバーロードされたメソッドの表現
いくつかの Java コードを表す UML ダイアグラムを作成しようとしています。
クラスには、オーバーロードされたメソッドがあります。
私の知る限り、メソッドのパラメーターは UML ダイアグラムには表示されません。
UML でメソッドのオーバーロードを表現するにはどうすればよいですか?
ありがとう。
java - 匿名クラスのコンストラクターへのアクセス
具象クラス Class1 があり、そこから匿名クラスを作成しているとしましょう。
この匿名クラスのコンストラクターをオーバーロードする方法はありますか。以下のように
コンストラクターに名前を付けるために xxxxxxxx に何かありますか?
javascript - Array を使用せずに JavaScript で Array のような動作を実装する
組み込みの配列を使用せずに、JavaScript で配列のようなオブジェクトを作成する方法はありますか? 私は特に次のような行動に関心があります。
ここで見ている特定の動作は、メソッドが呼び出されることなく sup.length が変更されることです。この質問から、配列の場合 [] 演算子がオーバーロードされていることがわかりました。これがこの動作の原因です。この動作を再現する純粋な JavaScript の方法はありますか、それとも言語が十分に柔軟でないのでしょうか?
Mozilla docsによると、正規表現によって返される値も、このインデックスで奇妙なことを行います。これはプレーンなJavaScriptで可能ですか?
java - Double Dispatch/Visitor パターンを使用せずに Java の静的メソッドのディスパッチを回避する
Foo
これらのメソッドを提供するクラスを使用しています:
Java はレシーバー以外の引数で静的にディスパッチするため、 my value
(これは ですが、Object
動的な type を持つ可能性がありますGoo
) を渡すだけではなく、JVM に依存して「正しい」メソッドを動的に選択することはできません。
これは私の現在の(醜い)回避策です:
(オーバーロードされたメソッドを含むクラス)のコードを変更せずにFoo
これを行うより良い方法はありますか?
c# - C#XMLコメントでオーバーロードをリンク/グループ化する方法は?
C#のXMLドキュメントコメントで、2つ以上の関数を相互にオーバーロードするようにマークして、相互に自動的に参照する方法はありますか?理想的には、それらはサンドキャッスルで生成されたドキュメントにも何らかの形でグループ化されます。
目的:多くの場合、このグループの関数にリンクしたいと思います。たとえば、ユーティリティ関数のリストで、オーバーロードの1つに言及し、そこから他の関数を簡単に見つけられるようにします。
現在、リンクを追加していますが、面倒です。