この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

クラスの定義

Apex クラスは Java クラスと似ています。クラスは、オブジェクトを作成するためのテンプレート、つまり設計図です。オブジェクトはクラスのインスタンスです。たとえば、Fridge クラスは、冷蔵庫の状態と、冷蔵庫でできることすべてを規定します。Fridge クラスの 1 つのインスタンスが、購入や販売が可能な特定の冷蔵庫にあたります。

Apex クラスには、変数とメソッドが含まれます。変数は、オブジェクトの名前や種別など、オブジェクトの状態を指定するために使用されます。これらの変数はクラスに関連付けられており、クラスのメンバーであるため、メンバー変数と呼ばれます。メソッドは、品目の購入や販売など、動作を制御するために使用されます。

メソッドには、ローカル変数を含めることもできます。ローカル変数はメソッド内で宣言され、そのメソッドのみが使用します。クラスメンバー変数がオブジェクトの属性 (名前や高さなど) を定義するのに対して、メソッド内のローカル変数は、メソッドのみが使用し、クラスを規定しません。

このワークブックの第 1 章にあるクラスの作成とインスタンス化では、新しいクラスの作成方法を説明しています。同じ手順に従い、次のクラスを作成します。
1public class Fridge {
2    public String modelNumber;
3    public Integer numberInStock;
4
5    public void updateStock(Integer justSold) {
6        numberInStock = numberInStock - justSold;
7    }
8}

これで、Fridge という新しいクラスを定義できました。このクラスには 2 つのメンバー変数 (modelNumbernumberInStock) および 1 つのメソッド (updateStock) が含まれます。void 型は、updateStock メソッドが値を返さないことを示します。

これで、この新しいクラス型 Fridge の変数を宣言し、操作できます。開発者コンソールで次のコードを実行します。
1Fridge myFridge = new Fridge();
2myFridge.modelNumber = 'MX-O';
3myFridge.numberInStock = 100;
4myFridge.updateStock(20);
5Fridge myOtherFridge = new Fridge();
6myOtherFridge.modelNumber = 'MX-Y';
7myOtherFridge.numberInStock = 50;
8System.debug('myFridge.numberInStock=' + myFridge.numberInStock);
9System.debug('myOtherFridge.numberInStock=' + myOtherFridge.numberInStock);

これにより、Fridge クラスの新しいインスタンスが myFridge という名前のオブジェクトとして作成されます。オブジェクト内の変数の値を設定し、updateStock メソッドをコールして、引数で値 20 を渡します。これを実行すると、updateStock インスタンスメソッドが numberInStock 値から引数を減算します。次に、Fridge クラスのインスタンスをもう 1 つ作成し、在庫数を 50 に設定します。最終的な出力の値として、80 と 50 が表示されます。

2 つの Fridge オブジェクトの numberInStock 項目のデバッグ出力