No Results
Search Tips:
- Please consider misspellings
- Try different search keywords
private 修飾子
ここまで、クラス、クラスメソッド、およびメンバー変数はすべて、public キーワードを使用して宣言しました。これは、他の Apex クラスもそのクラス、メソッド、および変数にアクセスできるようにするアクセス修飾子です。場合によっては、他の Apex クラスからはアクセスできないようにする必要が生じます。このような場合には、private アクセス修飾子でクラス、メソッド、またはメンバー変数を宣言します。
メンバー変数を private として宣言すると、どのメンバー変数を参照または更新可能にするか、また他のクラスでどのように操作されるかを制御できます。これらの private 変数の値を取得して設定するための public メソッドを提供できます。これらの getter および setter メソッドはプロパティと呼ばれ、詳細は「プロパティ構文」で説明します。これらのメソッドを private として宣言するのは、定義されたクラス内でのみコールされ、ヘルパーメソッドである場合です。ヘルパーメソッドは、クラスの動作を表しませんが、ユーティリティ目的で提供されることがあります。
それでは、Fridge クラスを、メンバー変数に private 修飾子を使用するように変更しましょう。
- Fridge クラスを変更し、両方の変数の修飾子を private に変更します。
- [Quick Save (適用)] をクリックします。
- 開発者コンソールで次のコードを実行します。
警告エラー「Variable is not visible: modelNumber」が表示されます。変数 modelNumber は、クラス内からのみアクセスできるようになりました。これが推奨される方式です。
- 変数へのアクセス権を提供するには、値の設定用と値の取得用にコールする public メソッドをそれぞれ新しく定義します。Fridge のクラス本文内に次のコードを追加します。
- [Quick Save (適用)] をクリックします。
- 次のコードを実行します。これは適切に実行されます。setModelNumber メソッドをコールすると文字列が渡され、myFridge インスタンス変数の modelNumber 値に設定されます。getModelNumber メソッドをコールすると、モデル番号が取得され、それが System.debug システムメソッドに渡されてデバッグ出力に書き出されます。