S.B.S. Salesforce技術ブログ

教えて921さん!

Apexを作成しよう!

こんにちは、Nambuです。今回はSalesforceの開発用言語であるApexについて説明したいと思います!今までにJavaや.Netなどの他の言語の経験がある場合は簡単な内容ですがそういった経験がない場合は少し難しいかもしれないので頑張ってついてきてください。

Apexとは

Apexは強く型付けされたオブジェクト指向プログラミング言語で、開発者Apexを用いることではボタンクリック、関連レコードの更新、Visualforceページなどほとんどのシステムイベントにロジックを追加することができます。Apexの特徴として「使いやすい」「データ指向」「正確である」「ホストされている」「マルチテナント型」「テストが容易」「バージョニング」されているなどがあげられます。

Apexを新規作成しよう

もしVisualforceの記事を読んで理解してもらえているのであればこの章の内容は余裕かもしれません。ここでは2種類のApexクラスの新規作成方法について紹介したいと思います。
1つ目は設定から作成する方法です。設定のホームからApexと検索し、Apexクラスを開きます。そして新規ボタンをクリックします。 するとクラスの編集画面が出てくるのでここにソースコードを入力します。実際には処理内容も記述しますがこの章では省略してアクセス修飾子とクラス名だけを書いてSaveをクリックします。 すると、先ほどつけたクラス名で作成されたのが確認できます。 2つ目は開発者コンソールから作る方法です。先ほどのApexクラスページの新規ボタンの横にある開発者コンソールボタンを押すか、右上の歯車マークから開発者コンソールをクリックします。 すると、新しいウィンドウで開発者コンソールが開くので、左上のFile、New、Apex Classの順でクリックします。 クラスの名前を入力するポップアップが出てくるので、入力してOKを押すと新規作成が完了します。

Apex classに処理を書いてみよう

それでは簡単なソースコードを見ながらApexの記述方法について説明していきたいと思います。
すぐに出てくるのはクラス変数です。変数を宣言するときは必ず「型+変数名」で記述します。StringとIntegerの部分が型でそれぞれ文字列型と整数型を意味しています。データ型はまだまだ沢山あるので気になる場合は以下のHelp記事を読んでみてください。 developer.salesforce.com

そして後ろに書かれたstrとnumが変数名になっています。
変数の後ろの{get;set;}はゲッターとセッターを宣言しています。Visualforce内で変数に読み書きをしたいときは通常getメソッドやsetメソッドを作らないといけませんが、{get;set;}の書き方で同じ宣言になるので大幅に省略することができます。
次のブレースで囲われた部分がメソッドになります。メソッドの宣言はJavaと変わらず「アクセス修飾子+返り値+メソッド名+(必要であれば引数)」です。今回は引数で受け取った二つの数字を計算する簡単な処理内容になっています。
メソッド内の処理にSystem.debug()という見慣れないメソッド呼び出しがあるかと思います。これはデバッグログにメッセージを出力するもので、Apexを書くようになったら絶対に使うことになると思います。使い方としてはJava でprint()やprintln()を用いたデバッグと同じです。 それでは今回作成したメソッドの動作を確認してみたいと思います。Apexの匿名実行を用いることで簡単に動作確認をすることができます。匿名実行に関してはまた別の記事があるのでそちらを参考にしてみてください。

sbs-sfdc.hatenablog.com

実際にアノニマスウィンドウから匿名実行をしてみてログを確認してみます。この時、System.debug()で出力したメッセージのみを見たいときはログ内のdebug onlyにチェックを入れます。ログからしっかりと計算が行えることが確認できます。


今回はこのくらいで、また会いましょう!