operator == 方法
- Object other
继承的
等性运算符。
对于所有 Object 的默认行为是在此对象和 other 是同一对象时返回 true。
覆盖此方法以在类上指定不同的等性关系。重写的方法仍然必须是等价关系。也就是说,它必须
-
总:它必须为所有参数返回布尔值。它不应当引发异常。
-
对称性:对于所有对象
o,o == o必须为 true。 -
反对称性:对于所有对象
o1和o2,o1 == o2和o2 == o1必须要么同时为 true,要么同时为 false。 -
传递性:对于所有对象
o1、o2和o3,如果o1 == o2和o2 == o3为 true,那么o1 == o3必须为 true。
方法也应在时间上保持一致性,因此,两个对象是否相等只有在至少一个对象被修改时才会改变。
如果子类覆盖了等性运算符,则应同时覆盖 hashCode 方法以保持一致性。
实现
bool operator ==(Object other) =>
other is Rectangle &&
left == other.left &&
top == other.top &&
right == other.right &&
bottom == other.bottom;