operator == 方法
- Object other
相等运算符。
所有 Object 的默认行为是,如果且仅当此对象和 other
是同一个对象时,返回 true。
重写此方法以指定类上的不同相等关系。重写的方法必须仍然是等价关系。也就是说,它必须
-
总 Berkeley: 必须对所有参数返回布尔值。它绝不能抛出异常。
-
自反性:对于所有对象
o
,必须o == o
为真。 -
对称性:对于所有对象
o1
和o2
,必须o1 == o2
和o2 == o1
同时都为真,或者都为假。 -
传递性:对于所有对象
o1
,o2
和o3
,如果o1 == o2
和o2 == o3
都为真,那么必须o1 == o3
也为真。
该方法还应保持一致性,即在时间上,两个对象是否相等仅在至少一个对象被修改时才会改变。
如果子类重写相等运算符,它还应该重写 hashCode 方法以保持一致性。
实现
bool operator ==(other) =>
other is Rectangle &&
left == other.left &&
top == other.top &&
width == other.width &&
height == other.height;