26.1.7.10 オブジェクトの演算

クラス Fraction の定義を続けましょう.Fraction の実体は分数ですが,それでは,足し算はどのように定義したらよいでしょうか.

ふつうのプログラム言語(Pascal, C, Basic など)では,データはメソッドと分離されていますので,たとえば

Fraction add(Fraction x, Fraction y)

といったメソッドを型 Fraction とは別に用意します.しかしながらオブジェクト指向言語である Java では,分数の足し算の方法は分数を表わすクラスの中に書くのが自然です.以下のようなぐあいです.

   Fraction add(Fraction p){
       Fraction w = new Fraction();
         w.nume = this.nume*p.deno + this.deno*p.nume;
         w.deno = this.deno*p.deno;
       return w;
    }
続く...

こうしておいて,Fraction 型である x に y を加えた「分数」を z へ代入するには

z = x.add(y);

と書くことになります.オブジェクト x (のメソッド add)へ別のオブジェクト y を送り込む,という感じです.上記のメソッドaddの中で使われている単語"this"は,「addが含まれている"その"オブジェクト」,すなわちx.addのxを意味します.