Spec-Zone.ru › Dart 1

dart:math

Метод оператора ==

bool operator ==(other)

Оператор равенства.

По умолчанию все Object возвращают true только тогда, когда this и other являются одним и тем же объектом.

Переопределите этот метод, чтобы указать другое отношение равенства для класса. Переопределенный метод должен оставаться отношением эквивалентности. То есть он должен быть:

  • Полным: он должен возвращать boolean для всех аргументов. Он никогда не должен выбрасывать исключение или возвращать null.

  • Рефлексивным: для всех объектов o, o == o должно быть true.

  • Симметричным: для всех объектов o1 и o2, o1 == o2 и o2 == o1 должны быть либо оба истинными, либо оба ложными.

  • Транзитивным: для всех объектов o1, o2, и o3, если o1 == o2 и o2 == o3 истинны, то o1 == o3 должно быть истинным.

Метод также должен быть согласован со временем, поэтому равенство двух объектов должно изменяться только в том случае, если хотя бы один из объектов был изменен.

Если подкласс переопределяет оператор равенства, он также должен переопределить метод hashCode для поддержания согласованности.

Исходный код

bool operator ==(other) {
  if (other is! Rectangle) return false;
  return left == other.left &&
      top == other.top &&
      right == other.right &&
      bottom == other.bottom;
}

© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-math/MutableRectangle/operator_equals.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API