問題タブ [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.

0 投票する
4 に答える
6853 参照

.net - Graphics.DrawRectangle(Pen, RectangleF)

http://msdn.microsoft.com/en-us/library/system.drawing.graphics.drawrectangle.aspx

FillRectangle、DrawRectangle、FillElipse、および DrawEllipse はすべて、x、y、幅、高さの 4 つの Float (または「単一」) パラメータを取ることができます。ただし、DrawRectangle は RectangleF を取らない唯一のものです。

これがなぜなのか、誰かが知っているかどうか疑問に思っていました。彼らはそれをオーバーロードするのを忘れていたようです。

0 投票する
3 に答える
10987 参照

c++ - 継承されたメンバー関数の過負荷

パブリックに継承されたインターフェイスにも存在するクラスオーバーロードメソッドはありますか?これは明白で便利なようですが、コンパイラ(VC、Intel、GCC)はすべて、少なくとも私の構造では不平を言っています。以下はおもちゃの例です。継承されたrebound()関数には2つの明確なオーバーロードがありますが、これはコンパイルされません。どちらかのクラスでrebound()メソッドの名前を変更すると、正常に機能しますが、同じメンバー関数名を共有している場合(異なる引数タイプでオーバーロードされている場合でも!)、「関数に引数が少なすぎる」という致命的なエラーが発生します。電話。"

回避策は簡単です(メソッドの名前を変更するだけです)が、これがC ++の制限であるかどうか(およびその理由)を理解しようとしています。

0 投票する
3 に答える
330 参照

php - PHPでのオーバーロードのようなものですか?

次のようなことを実行したいと思います。メソッドを呼び出して「turn」と言い、次に「turn」をさまざまなデータ型に異なる方法で適用します。たとえば、「screwdriver」オブジェクト/パラメータで「turn」を呼び出すと「turnScrewdriver」が使用されます。 「steeringWheel」オブジェクト/パラメータを使用して「turn」を呼び出す「turn」メソッドは、「turnSteeringWheel」メソッドなどを使用します。さまざまな処理が行われていますが、どちらも「turn」と呼ばれます。

呼び出し元のコードが関係するタイプを気にする必要がないように、これを実装したいと思います。この例では、「回転」は、「ドライバー」、「ステアリングホイール」、または「回転」する必要がある可能性のあるものを「回転」させるのに十分です。

C ++では、オーバーロードを使用してこれを行います-そしてC ++はデータ型/署名に基づいて物事を分類します-しかし、これはPHPでは機能しません。

どこから始めればよいかについての提案はありますか?switchステートメントは明らかですが、(よりエレガントな)OOソリューションが必要だと思います。いいえ?

TIA

0 投票する
14 に答える
226716 参照

c - Cで関数のオーバーロードを実現する方法は?

Cで関数のオーバーロードを実現する方法はありますか?私は次のようにオーバーロードされる単純な関数を見ています

簡単な方法はないと思います。回避策があれば探しています。

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

javascript - Javascript function() リテラルのオーバーロード

関数リテラルをオーバーロードする可能性があるかどうか、常に興味がありました。たとえば、関数でできることです。

もちろん、これはプロジェクト全体をデバッグする良い方法だと推測できます。しかし、ここでの努力は何の役にも立たない。

専門家への質問は次のとおりです。

  1. たぶん、私が知らない何かがあるかもしれませんが、このいまいましいコンストラクターをオーバーロードする可能性があるのでしょうか? (しかし、おそらくそうではありません)。
  2. そうでない場合-これを行う方法-可能であれば-任意のブラウザーで(javascriptを使用するだけでなく、拡張言語を使用して-すべてのブラウザーがこのようなものを取得します)。
  3. そうでない場合 - firebug などのアドオンを介してこれを行う方法は??
0 投票する
5 に答える
19049 参照

generics - ジェネリック パラメーター型の関数

複数のタイプのパラメーター (int と int64 など) で機能する関数を定義する方法を見つけようとしています。私が理解しているように、関数のオーバーロードは F# では不可能です (確かにコンパイラは文句を言います)。たとえば、次の関数を考えてみましょう。

もちろん、コンパイラは構文が無効であると不平を言います(パターンマッチングの型制約はサポートされていないようです)が、これは私が達成したいことを示していると思います.タイプ。これは、ジェネリック型/型推論/パターン マッチングの組み合わせを使用する F# で可能であると感じていますが、構文がわかりませんでした。:? も使用してみました。演算子 (動的型テスト) とwhen句をパターン マッチング ブロックに追加しますが、これでもすべての並べ替えエラーが発生します。

私は言語に慣れていないので、ここで不可能なことをしようとしている可能性が非常に高いので、別の解決策があれば教えてください。

0 投票する
6 に答える
6424 参照

java - オートボクシングがJavaで一部の呼び出しを曖昧にするのはなぜですか?

今日、自動ボクシングによってメソッドのオーバーロード解決が曖昧になることがあることに気付きました。最も単純な例は次のようです。

コンパイルすると、次のエラーが発生します。

このエラーの修正は簡単です: 明示的な自動ボクシングを使用するだけです:

期待どおりに最初のオーバーロードを正しく呼び出します。

では、なぜオーバーロードの解決に失敗したのでしょうか? コンパイラが最初の引数を自動ボックス化せず、2 番目の引数を正常に受け入れなかったのはなぜですか? 自動ボクシングを明示的に要求する必要があったのはなぜですか?

0 投票する
8 に答える
5947 参照

c# - C#.NETでのメソッドのオーバーロード

タイプInt32の変数は、以下のオーバーロードされたメソッドに渡す前に「オブジェクト」にキャストすると、Int32として脅威にさらされることはありません。

「オブジェクト」にキャストされている場合でも、それをInt32として処理するには、リフレクションを使用します。

それを行う別の方法はありますか?多分ジェネリックを使用していますか?

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

parameters - メソッドオーバーロードVS「リクエスト」オブジェクトをいつ使用するか

メソッドのオーバーロードをいつ使用し、いつ別の「リクエスト」クラスを使用するかを決定するための最良の「経験則」は何ですか? 例えば:

とは対照的に:

いずれかの方法に固執するのが最善ですか、それとも「必要」なときにどちらかを使用するのが最善ですか? 一方を他方よりもいつ、どこで使用する必要があるかについて、何かポイントはありますか?

どちらを使用するかをどのように決定し、その理由は何ですか?

0 投票する
9 に答える
97735 参照

python - 過負荷印刷python

関数をオーバーロードしてprint、内部から通常の関数を呼び出すことはできますか? 私がやりたいのは、通常を呼び出してコピーをファイルに書き込むprintmy と呼びたい特定の行の後です。printprint

また、オーバーロードする方法もわかりませんprint。可変長引数の使い方がわかりません。すぐに調べますが、 オーバーロード print pythonは、私が使用しているものprintである2.xでオーバーロードできないことを教えてくれました。