内容: Dartは、演算子のオーバーロードをサポートしています。演算子オーバーロードを使用すると、組み込みの演算子の振る舞いをカスタマイズできます。以下に、Dartで演算子オーバーロードを実装する方法を説明します。
- クラスの定義: まず、演算子をオーバーロードするためには、クラスを定義する必要があります。例えば、ベクトルを表すVectorクラスを考えましょう。
class Vector {
double x;
double y;
Vector(this.x, this.y);
}
- 演算子のオーバーロード:
演算子をオーバーロードするためには、
operator
キーワードを使用します。例えば、2つのベクトルの足し算を表す+
演算子をオーバーロードする場合、以下のように記述します。
class Vector {
double x;
double y;
Vector(this.x, this.y);
Vector operator +(Vector other) {
return Vector(x + other.x, y + other.y);
}
}
上記の例では、+
演算子をオーバーロードして、2つのベクトルを要素ごとに足し合わせる処理を行っています。
- オーバーロードの使用例: オーバーロードした演算子は、通常の演算子と同じように使用することができます。例えば、以下のようにベクトルの足し算を行うことができます。
void main() {
Vector v1 = Vector(1, 2);
Vector v2 = Vector(3, 4);
Vector result = v1 + v2;
print(result.x); // 出力: 4.0
print(result.y); // 出力: 6.0
}
上記の例では、v1
とv2
の足し算を行い、結果をresult
変数に格納しています。
以上が、Dartで演算子オーバーロードを実装する方法の基本的な説明です。この方法を使用することで、Dartの演算子の振る舞いをカスタマイズすることができます。追加の演算子のオーバーロード例や応用的な使い方については、公式のDartドキュメントを参照してください。