問題タブ [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 投票する
3 に答える
78610 参照

java - Javaのオーバーロードとオーバーライド

こんにちは私はこれらの概念が正しいことを確認したいだけです。Javaでのオーバーロードとは、引数の数やデータ型が異なるコンストラクターまたはメソッドを使用できることを意味します。すなわち

この方法はどうですか?別のデータ型を返すため、それでもオーバーロードと見なされますか?


2番目の質問は:Javaでオーバーライドするものは何ですか?それは相続に関係していますか?私は次のものを持っているとしましょう:

だから今私は次のものを持っているとしましょう

電話したら

これにより、Vehicleクラスからの価格20,000が返されます。

電話したら

これにより、トラッククラスの価格14,000が返されます。

私の知識は両方の質問に対して正しいですか?

0 投票する
5 に答える
14195 参照

java - Java インターフェイス: メソッドの継承、オーバーライド、およびオーバーロード

Ken Arnold、James Gosling、David Holmes による「THE Java™ Programming Language, Fourth Edition」では、次のように述べられています。

パラグラフ:(4.3.2) 「同様に、インターフェイスが同じシグネチャを持つ複数のメソッドを継承する場合、またはクラスが同じシグネチャを持つメソッドを含む異なるインターフェイスを実装する場合、そのようなメソッドは1つだけです。このメソッドの実装最終的にはインターフェイスを実装するクラスによって定義され、あいまいさはありません. メソッドの署名が同じで戻り値の型が異なる場合、戻り値の型の 1 つが他のすべての型のサブタイプである必要があり、そうでない場合はコンパイル時エラーになります。実装では、共通のサブタイプを返すメソッドを定義する必要があります。」

上記の段落のポイントを正当化するサンプルコードを誰か教えてもらえますか?

私はコードを書き、言及されていることをテストしようとしましたが、サブインターフェースが基本インターフェースメソッドを隠しているため、サブインターフェースメソッドのみを実装できるコンパイル時エラーが発生しています。

前もって感謝します。-アルン

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

generics - IronRubyでオーバーロードされたジェネリックメソッドを呼び出す方法は?

IronRuby でオーバーロードされた汎用メソッドを呼び出すにはどうすればよいですか?

次のメソッドを持つ .NET クラスがあります。(メソッドは静的であることに注意してください)

=>「間違った引数」というエラーが発生します

ところで、IronRuby 0.5 を使用しています。

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

php - オーバーロードされた __get はすべてのメンバー変数を管理する必要がありますか?

プライベート メンバー変数へのアクセスを制御するクラスの __get() 関数を作成しています。可能なすべてのメンバー値の読み取りを処理する関数を設計する必要がありますか?それとも、パブリックなメンバーに対して関数を記述できないでしょうか? また、このクラスを継承するクラスは、__get() 関数を使用してプライベート メンバーにアクセスすると想定しています。

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

c++ - テンプレート クラス式パラメーターのオーバーロード

ねえ、式パラメーターを使用してテンプレート クラス定義を「オーバーロード」できるかどうかを調べようとしています。次のコード スニペットのようなものです。

ありがとう。

編集:記録のために、それが明らかでない場合、私はC ++でこれをやろうとしています... :)

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

python - クラスで__getitem__を定義すると、Pythonで反復可能になるのはなぜですか?

クラスで __getitem__ を定義すると反復可能になるのはなぜですか?

たとえば、私が書いた場合:

出力が得られます:

「for k in cb:」からエラーが返されることを期待しています。

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

c# - 異なるタイプのジェネリックリストをパラメーターとして受け取るメソッドのオーバーロード

さまざまなタイプのジェネリックリストをパラメーターとして受け取るメソッドをオーバーロードするにはどうすればよいですか?

例えば:

私にはそのような2つの方法があります:

これら2つの方法を1つに組み合わせる方法はありますか?

0 投票する
10 に答える
17171 参照

c# - メソッドのオーバーロードの戻り値

C# では、メソッドを定義できるようにする必要がありますが、1 つまたは 2 つの戻り値の型を返す必要があります。実行しようとすると、コンパイラはエラーを返しますが、どのメソッドを呼び出す必要があるかを知るほど賢くないのはなぜですか?

戻り値の型が異なる 2 つの関数をコンパイラが禁止するのはなぜですか?

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

c++ - すべてのクラスとクラス テンプレートを受け入れる C++ テンプレートを作成する方法は?

事前に注意してください。この質問は、実際よりもはるかに明白に思えます。

任意の具象クラスまたはテンプレート クラスをテンプレート パラメーターとして受け入れることができるテンプレートを作成したいと考えています。渡された T がテンプレート化されているかどうかを知らなければ、その使用方法がわからないため、これは役に立たないように思えるかもしれません。これが必要な理由は、定義のない一般的なテンプレートを宣言して、ユーザーが特化できるようにするためです。ユーザーはそれを専門に扱っているため、自分が扱っている型について常に知っています。ただし、ユーザーは、最初に宣言されていないテンプレートを特殊化することはできません。

あなたはこれを行うことができます:

ただし、テンプレート化された T を渡すと、それは機能しません。たとえば、機能しmyclass<std::vector>ません。それで、これを試します:

これは正しい方法かもしれませんが、クラス テンプレートをオーバーロードできないため、そのままでは機能しません。それでは、次のような関数テンプレートに切り替えましょう。

いいですね、これで終わりですよね?テンプレートのテンプレート パラメータに指定されたパラメータの数が異なる可能性があるため、それも考慮する必要があります。

醜いですが、Boost Preprocessor Libraryがこのコードを生成してくれます (C++0x では可変個引数テンプレートのサポートが追加されるため、この醜さは一時的なものです)。しかし、私たちはまだケースを忘れています! T のパラメーターの 1 つがクラスではなく、定数の整数である場合はどうなるでしょうか。それをサポートしようとしましょう:

ええとああ。任意の定数型を任意の数でテンプレートに渡すことができ、クラス パラメータと混合できるとすれば、KABLOOEY の組み合わせ爆発です。さらに難しいことに、T のパラメーターのいずれか自体がテンプレートである場合はどうなるでしょうか。

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

c# - メソッドの汎用インターフェイスのオーバーロード?

2番目のメソッドや多くのキャストに頼ることなく、次のことを行うための優れた一般的な方法はありますか?

ありがとう