開発 演算子のオーバーロードとは何ですか? -techopediaからの定義

演算子のオーバーロードとは何ですか? -techopediaからの定義

目次:

Anonim

定義-演算子のオーバーロードとはどういう意味ですか?

演算子のオーバーロードは、プログラミング言語で使用される演算子を、渡された引数の型に基づいてカスタマイズされたロジックを持つユーザー定義型で実装する手法です。


演算子のオーバーロードは、一方または両方のオペランドがユーザー定義のクラスまたは構造型である操作のユーザー定義実装の仕様を容易にします。 これにより、ユーザー定義型は基本的なプリミティブデータ型と同じように動作します。 演算子のオーバーロードは、特定の型に使用される演算子が、プログラミング言語に見られるドメインコンテキストと構文サポートに関連するセマンティクスを提供する場合に役立ちます。 構文上の利便性、読みやすさ、保守性のために使用されます。


Javaは、+演算子を内部的にオーバーロードする文字列連結を除き、演算子のオーバーロードをサポートしていません。

Techopediaはオペレーターのオーバーロードを説明します

演算子は、式の演算子表記と宣言の関数表記を使用して参照されます。 ユーザー定義の演算子宣言を使用して、演算子の構文、優先順位、および結合性を変更することはできません。


たとえば、C#の演算子は、実行する操作の種類に基づいて分類されます。 それらのいくつかは、静的メンバー関数で定義し、operatorキーワードを使用して、ユーザー定義型でオーバーロードされます。 演算子関数のパラメーターはオペランドを表し、演算子関数の戻り値の型は演算の結果を表します。 オーバーロードは、「==」や「!=」などの比較演算子などの演算子のペアで実装されます。 これらの演算子のEquals()メソッドは、コンパイラの警告を回避するためにオーバーライドする必要があります。 オーバーロードは、条件、論理(および!!)、代入(+ =、-=など)、キャスト、配列インデックス()などの演算子には使用されません。


生成される結果が、オペレーターのデフォルト実装から直感的に予想されるものになるように、オペレーターのオーバーロードを実装することを強くお勧めします。 2つのオペランドを持つ式に適用される可換則などの特定の数学規則は、数値オペランドに対してのみ定義されているため、型のオーバーロードで使用する場合は適用できません。

演算子のオーバーロードとは何ですか? -techopediaからの定義