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

Apex クラスの追加

前提条件:
  • Sandbox の Performance Edition、Unlimited Edition、または Enterprise Edition 組織の Salesforce アカウント、または Developer Edition 組織のアカウント。
  • Book カスタムオブジェクト

このステップでは、本の価格を更新するメソッドを含む Apex クラスを追加します。このメソッドは、次のステップで追加するトリガでコールされます。

  1. [設定] から [開発] | [Apex クラス] をクリックし、[新規] をクリックします。
  2. クラスエディタで、次のクラス定義を入力します。
    1swfobject.registerObject("clippy.codeblock-0", "9");
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17public class MyHelloWorld {
    18
    19}
    前述のコードは、次のステップで 1 つのメソッドを追加するクラス定義です。Apex コードは、通常、クラスに含まれています。このクラスは public と定義されているため、他の Apex クラスおよびトリガで使用できます。詳細は、クラス、オブジェクトおよびインターフェースを参照してください。
  3. クラスの開き括弧および閉じ括弧の間にこのメソッド定義を追加します。
    1swfobject.registerObject("clippy.codeblock-1", "9");
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17public static void applyDiscount(Book__c[] books) {
    18   for (Book__c b :books){
    19      b.Price__c *= 0.9;
    20   }
    21}
    22

    このメソッドは applyDiscount と呼ばれ、公開かつ静的メソッドです。これは静的メソッドであるため、メソッドにアクセスするためにクラスのインスタンスを作成する必要はありません。このメソッドにアクセスするには、クラス名の後にカンマ (.)、メソッド名を指定します。詳細は、静的およびインスタンスメソッドを参照してください。

    このメソッドでは 1 つのパラメータ、Book レコードのリストを使用します。これは変数 books に割り当てられます。オブジェクト名の後に __c を記述し、Book__c とします。これは、この項目がカスタムオブジェクト、つまり自分で作成した項目であることを示します。Account など Salesforce アプリケーションで提供される標準オブジェクトの末尾はこのポストフィックスではありません。

    コードの次のセクションでは、メソッド定義の残りを記述します。

    1for (Book__c b :books){
    2   b.Price__c *= 0.9;
    3}

    項目名の後に __c を記述し、Price__c とします。これは、この項目がカスタム項目、つまり自分で作成した項目であることを示します。Salesforce のデフォルトで提供されている標準項目へのアクセスには同じ種類のドット表記が使用されますが、__c は使用されません。たとえば、Book__c.NameName 項目の末尾に __c は付きません。ステートメント b.Price__c *= 0.9; では b.Price__c の古い値を取り、この値を 0.9 で乗算します。つまり、10% 割り引きされた値にします。次に、新しい値を b.Price__c 項目に保存します。*= 演算子はショートカットです。このステートメントを作成する他の方法は、b.Price__c = b.Price__c * 0.9; です。式の演算子についてを参照してください。

  4. [保存] をクリックすると、新しいクラスが保存されます。これで、次の完全なクラス定義が設定されます。
    1swfobject.registerObject("clippy.codeblock-3", "9");
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17public class MyHelloWorld {
    18   public static void applyDiscount(Book__c[] books) {
    19      for (Book__c b :books){
    20         b.Price__c *= 0.9;
    21      }
    22   }
    23}
これで、Book (本) リストを反復処理し、各本の価格項目を更新するコードを含むクラスを作成できました。このコードは、次のステップで作成するトリガによってコールされる applyDiscount 静的メソッドの一部です。