Steps
1. Donut オブジェクトを表す簡単なクラスを定義する方法
Name と productCode プロパティを持つ Donut オブジェクトを表す簡単なクラスの定義から始めてください。 この例は、前回のチュートリアル「Scala でクラスとオブジェクトを作成する方法」の復習です。
前回のチュートリアルと同様に、与えられた Donut オブジェクトの名前と productCode を表示する print() 関数も用意しましょう。 Scala での関数の作成に慣れていない場合は、「Functions Tutorials」を参照してください。
2. Donut クラスのコンパニオン オブジェクトを宣言する方法
コンパニオン オブジェクトは object キーワードを使って定義し、オブジェクト名はクラス名と同じであるべきです。
さらに、コンパニオン・オブジェクトは、与えられたクラスのインスタンスを作成する役割を果たす apply() メソッドを定義しなければなりません。
ステップ 1 の Donut クラスは name と productCode プロパティを必要とするので、次のように apply() メソッドにも同様の入力パラメータを提供します。
3. コンパニオン オブジェクトを使用して Donut クラスのインスタンスを作成する方法
上記のステップ 2 で定義したコンパニオン オブジェクトを使用すると、new キーワードを使用せずに Donut クラスのインスタンスを作成することができます。
次に、以下のようにドーナツオブジェクトからprint()関数を呼び出してみましょう。
println("\nStep 4: How to call function on each Donut object")glazedDonut.printvanillaDonut.print
IntelliJでScalaアプリケーションを実行すると、以下の出力が表示されます:
Step 4: How to call the print function for each of the Donut objectDonut name = Glazed Donut, productCode = 1111Donut name = Vanilla Donut, productCode = 2222