在Dart语言中,运算符重载是指为已有的运算符赋予新的含义,使其作用于自定义的对象时能够执行特定的操作。Dart允许重载以下运算符:
+
:正号-
:负号!
:逻辑非~
:按位非+
:加法-
:减法*
:乘法/
:除法%
:取模**
:幂运算&
:按位与|
:按位或^
:按位异或<<
:左移>>
:右移>>>
:无符号右移+
(字符串连接):用于字符串连接==
:等于!=
:不等于<
:小于>
:大于<=
:小于等于>=
:大于等于=
:赋值+=
:加法赋值-=
:减法赋值*=
:乘法赋值/=
:除法赋值%=
:取模赋值&=
:按位与赋值|=
:按位或赋值^=
:按位异或赋值<<=
:左移赋值>>=
:右移赋值>>>=
:无符号右移赋值&&
:逻辑与||
:逻辑或? :
:三元运算符[]
。+
。class Vector {
final int x;
final int y;
Vector(this.x, this.y);
Vector operator +(Vector other) {
return Vector(x + other.x, y + other.y);
}
@override
String toString() {
return 'Vector($x, $y)';
}
}
void main() {
var v1 = Vector(2, 3);
var v2 = Vector(4, 5);
print(v1 + v2); // 输出: Vector(6, 8)
}
通过上述示例,可以看到如何重载加法运算符+
来实现两个向量对象的相加操作。
领取专属 10元无门槛券
手把手带您无忧上云