関数の過負荷とは何ですか?

関数オーバーロードは、同じ名前ではなく異なる入力パラメーターまたはリターンタイプで複数のメソッドを作成できる多くのプログラミング言語の機能です。これは、オブジェクト指向プログラミングの一般的な機能です。特にコンストラクターには、複数の異なる過負荷型バリアントがある場合があります。基本的に、2つの関数が非常に類似したことを行い、それを行うために複数のタイプの入力を取ることができる場合、関数の過負荷は役立ちます。コンストラクターは、明示的なリターンタイプが指定されていないために簡単に過負荷にすることができます。そのため、コンストラクターの入力パラメーターを単純に変更するだけで有効な過負荷になります。

関数をオーバーロードできる最初の方法は、入力パラメーターを変更することです。たとえば、入力として2つの整数として使用する「add」と呼ばれる関数を考慮することができます。この関数の目的はかなり明白です。 2つの整数の合計を見つけることを目的としています。

2つのフロートまたは小数の数字の合計を見つけたい場合、この機能イオンは適用されません。したがって、入力2つのフロートとして使用する「add」と呼ばれる関数として定義される2番目のオーバーロードされた関数が必要になります。関数は本質的に同じことを行いますが、入力が大きく異なるため、関数の過負荷が必要です。

関数を過負荷にすることができる2番目の方法は、入力パラメーターと戻り型の両方を変更することです。前の例を使用して、両方のオーバーロードされた「追加」関数の両方がボイド戻りタイプを持っていたかどうかを考慮することができます。つまり、彼らは何も返しませんでした。これは依然として有効な関数過負荷ですが、2つの方法の返品タイプも変更できます。オーバーロードの別の有効なインスタンスでは、2つの整数を取る「追加」関数はその整数を返す可能性があり、2つの小数を取る「追加」関数はその小数の数字を返すことができます。

returnタイプoを変更するだけですただし、機能は有効な関数過負荷とは見なされません。関数のリターンタイプのみを変更すると、曖昧さが曖昧になります。パラメーターは曖昧に定義することもできるため、過負荷の関数を適切に呼び出すことが非常に重要です。たとえば、入力パラメーターとして整数を持つオーバーロードされた関数があり、別の関数がパラメーターとして小数を持つ関数がある場合、誰かが誤って小数関数の代わりに小数関数を誤って呼び出すことは非常に簡単です。これらのようなあいまいなパラメーターは、可能であれば避ける必要があり、それらができない場合は、適切な過負荷機能が適切な時期に呼び出されるように細心の注意を払う必要があります。

関数過負荷は、さまざまな入力タイプを使用して関連する関数を作成するのに役立ち、コードに多くの柔軟性を与えます。最後の考慮事項オーバーロードされた関数については、適切なコメントが不可欠であることがあります。入力パラメーターが異なることで明確かもしれませんが、どのバージョンの過負荷機能が特定の状況に適しているかは明確ですが、その関数が他の過負荷パートナーとは異なる方法を正確に明確にするとは限りません。

他の言語

この記事は参考になりましたか? フィードバックをお寄せいただきありがとうございます フィードバックをお寄せいただきありがとうございます

どのように我々は助けることができます? どのように我々は助けることができます?