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

private 修飾子

ここまで、クラス、クラスメソッド、およびメンバー変数はすべて、public キーワードを使用して宣言しました。これは、他の Apex クラスもそのクラス、メソッド、および変数にアクセスできるようにするアクセス修飾子です。場合によっては、他の Apex クラスからはアクセスできないようにする必要が生じます。このような場合には、private アクセス修飾子でクラス、メソッド、またはメンバー変数を宣言します。

メンバー変数を private として宣言すると、どのメンバー変数を参照または更新可能にするか、また他のクラスでどのように操作されるかを制御できます。これらの private 変数の値を取得して設定するための public メソッドを提供できます。これらの getter および setter メソッドはプロパティと呼ばれ、詳細はプロパティ構文で説明します。これらのメソッドを private として宣言するのは、定義されたクラス内でのみコールされ、ヘルパーメソッドである場合です。ヘルパーメソッドは、クラスの動作を表しませんが、ユーティリティ目的で提供されることがあります。

デフォルトでは、メソッドや変数は private であり、それらが定義されたクラス内の Apex コードからのみ参照できます。メソッドや変数を他のクラスで使用できるようにするには、明示的に public として指定する必要があります。

メモ

それでは、Fridge クラスを、メンバー変数に private 修飾子を使用するように変更しましょう。

  1. Fridge クラスを変更し、両方の変数の修飾子を private に変更します。
  2. [Quick Save (適用)] をクリックします。
  3. 開発者コンソールで次のコードを実行します。
    警告エラー「Variable is not visible: modelNumber」が表示されます。変数 modelNumber は、クラス内からのみアクセスできるようになりました。これが推奨される方式です。
  4. 変数へのアクセス権を提供するには、値の設定用と値の取得用にコールする public メソッドをそれぞれ新しく定義します。Fridge のクラス本文内に次のコードを追加します。
  5. [Quick Save (適用)] をクリックします。
  6. 次のコードを実行します。
    これは適切に実行されます。setModelNumber メソッドをコールすると文字列が渡され、myFridge インスタンス変数の modelNumber 値に設定されます。getModelNumber メソッドをコールすると、モデル番号が取得され、それが System.debug システムメソッドに渡されてデバッグ出力に書き出されます。