Scala チュートリアル – コンパニオン オブジェクトの作成と使用方法

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 クラスのインスタンスを作成することができます。

  • しかしながら、次のチュートリアルでは、コンパニオン オブジェクトの apply() メソッドをクラスのファクトリとして使用できる方法を紹介します。 ドーナツオブジェクトごとにprint関数を呼び出す方法

    次に、以下のようにドーナツオブジェクトから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
  • コメントを残す

    メールアドレスが公開されることはありません。