例のようにRationalクラスのインスタンスを比較することを考えると、一般的には<,>,<=,>=があるでしょう。scalaではこれを解決するのにOrderedトレイトを用意してある。図の2行目のようにextends Ordered[Rational]と追加する。def compareを記述する。以上の2点で4個の大小関係の比較が出来るようになる。
前の例題に矩形オブジェクトがありました。少しだけ変更して、面積の大きさを比較することに変えてみました。例題ではx軸方向しかないので、y軸方向の高さも考えると、図のようになります。compareを作れば面積の比較が出来るようになります。
compareではthis.mensekiからthat.mensekiを引くようです。