26.1.7.9 分数クラス2

ひとつの分数を表現するには,分母と分子を表わす二個の整数値の他に,分数同士の四則演算を定める規則が必要です.

class Fraction{
  int nume, deno;
  static Fraction create(int n, int d){
     Fraction x=new Fraction();
        x.nume=n;
        x.deno=d;
     return x;
  }
続く...

クラス名は Fraction で,固有のデータである分子(numerator)と分母(denominator)とをもっています.この二つは,分数ごとに保有していることが必要ですから, "static" という指示はついていません.

クラス Fraction の最初のメソッドは,整数値二個から分数をひとつ作り出す create です. Fraction.create(17, 12)というぐあいに呼ぶと,対応する分数,すなわち Fraction 型のデータをひとつ返してきます.メソッド定義の先頭部分に書いてある "Fraction" はこのメソッドが "Fraction" 型のデータを返すことを示しています.

新しい単語 "new" は,その次に続くクラス名(ここでは Fraction )のデータを一つ造り出すことを意味します.そして,これを行うメソッド create はクラス共通のメソッドですから,"static" がついています.このメソッドを呼ぶときには,「Fraction クラスの中の create メソッド」を呼ぶという意味で

Fraction.create(17, 12)

と書きます.この呼出しで作られるのは Fraction 型のデータの実体でしたから,実際に使うときには

Fraction p = Fraction.create(17, 12)

というぐあいに,作られたものを変数(ここではp)に入れておきます.