Dart可以像C语言一样重载部分操作符。支持重载的操作符有:
< |
+ |
^ |
[] |
> |
/ |
& |
[]= |
<= |
~/ |
<< |
~ |
>= |
* |
>> |
== |
- |
% |
重载通过operator关键字实现:
class Point{
int x;
int y;
Point(this.x, this.y);
//重载加号运算符
Point operator +(Point point){
return new Point(x + point.x, y + point.y);
}
}
void main(){
Point p1 = new Point(1,2);
Point p2 = new Point(3,4);
print((p1 + p2).x);//打印4
print((p1 + p2).y);//打印6
}