問題
GetterメソッドとSetterメソッドに関する記述のうち、正しいものはどれですか。2つ選びなさい。
- ページからコントローラーに値を渡すには、より適切なメソッドが必要です。
- Setterメソッドは常にグローバルに宣言する必要があります。
- GetterメソッドとSetterメソッドの実行順序は保証されません。
- Getterメソッドは、コントローラからページに値を渡すことができます。
正解
- ページからコントローラーに値を渡すには、より適切なメソッドが必要です。
- Setterメソッドは常にグローバルに宣言する必要があります。
- GetterメソッドとSetterメソッドの実行順序は保証されません。
- Getterメソッドは、コントローラからページに値を渡すことができます。
解説
それぞれの選択肢の理由について説明します。
□ ページからコントローラーに値を渡すには、より適切なメソッドが必要です。
これは不正解です。Visualforceのコンテキストにおいて、ページからコントローラーに値を渡す際にはSetterメソッドを使用します。Visualforceページ内でユーザーが入力したデータは、Setterメソッドを介してApexコントローラーに渡されるため、この文は誤りです。
□ Setterメソッドは常にグローバルに宣言する必要があります。
これは不正解です。VisualforceとApexコントローラーにおいて、Setterメソッド(およびGetterメソッド)は通常、特定のアクセス修飾子を使用してクラス内に宣言されます。これはpublicであることが多いですが、必ずしもグローバルである必要はありません。globalアクセス修飾子は異なる名前空間間でのアクセスが必要な場合に使用されることがありますが、通常のVisualforceページとApexコントローラー間のデータバインディングにはpublicで十分です。
□ GetterメソッドとSetterメソッドの実行順序は保証されません。
これは正解です。Visualforceページにおいて、GetterメソッドとSetterメソッドが呼び出される順序は固定されておらず、ページのレンダリング中に複数回呼び出されることがあります。ページのライフサイクルにおける特定の時点でこれらが呼び出されるため、開発者は順序に依存しないように注意する必要があります。
□ Getterメソッドは、コントローラからページに値を渡すことができます。
これは正解です。Visualforceページに表示されるデータは、Getterメソッドを介してApexコントローラから取得されます。Getterメソッドはページが要求するデータを提供し、Visualforceページ上の特定のプロパティにバインドするために使用されます。
コメント