Dart语法
运算符重载
dart 知道 1 + 2 = ? 中的 + 如何处理,但对于 class StudentGrade ,可以通过运算符重载的方式定义 StudentGrade + StudentGrade = ? 中的加号逻辑。
定义类的两个对象如何做运算。
例如通过 id 判断两元素相等。
class FruitItem {
int fruitItemId;
String fruitItemName;
FruitItem({
this.fruitItemId,
this.fruitItemName,
});
bool operator ==(o) => o is FruitItem && o.fruitItemId == fruitItemId;
}
等同于:
bool operator ==(FruitItem o) {
return this.fruitItemId == o.fruitItemId;
}
ref: