code: public function equals($obj)
      {
          if (get_class($this) !== get_class($obj)) {
              return false;
          }
          return $this->compareTo($obj) === 0;
      }
docs: 指定されたオブジェクトとこのオブジェクトを比較します.
  compareTo による比較結果が 0 を返し, かつクラスが同じ場合に TRUE を返します.
  
  @param  mixed   $obj 比較対象のオブジェクト
  @return bool         二つのオブジェクトが等しい場合に TRUE, それ以外は FALSE