問題
Apexクラスとインターフェースに関して、次のうち正しいステートメントはどれでしょうか。3つ選択してください。
- クラスはデフォルトでfinalです。
- インターフェースのメソッドはデフォルトでpublicです。
- 内部クラスはデフォルトでprivateです。
- 最上位クラスは1つの内部クラスレベルのみを持つことができます。
正解
- クラスはデフォルトでfinalです。
- インターフェースのメソッドはデフォルトでpublicです。
- 内部クラスはデフォルトでprivateです。
- 最上位クラスは1つの内部クラスレベルのみを持つことができます。
解説
この問題を解くためには、以下の知識が必要です。
- Apexの基本的な文法と概念:ApexはSalesforceのプラットフォーム上で動作するオブジェクト指向のプログラミング言語です。そのため、オブジェクト指向プログラミングの基本的な概念を理解している必要があります。
- アクセス修飾子に関する知識:Apexにおける
private
、public
、protected
、global
などのアクセス修飾子の違いと使用方法を理解している必要があります。 - インターフェースとクラスの違い:クラスとインターフェースの基本的な違い、特にApexにおけるインターフェースの振る舞いや制約を理解している必要があります。
- 内部クラスに関する知識:Apexの内部クラスの概念、使用方法、および制約を理解している必要があります。
- 公式文書の理解:SalesforceやApexの公式文書やドキュメンテーションを読み解く能力も求められます。公式文書はApexの動作や制約に関する正確な情報を提供しているため、この問題のように細かい点について問われる場合、公式文書を頼りにすることが多いです。
それぞれの選択肢の理由について説明します。
□ クラスはデフォルトでfinalです。
これは正解です。Apexのメソッドおよびクラスはデフォルトでfinalです。これは、メソッドやクラスが上書きされるのを防ぐためのデフォルトの動作です。メソッドまたはクラスを上書きする場合、virtualキーワードを使用して明示的に上書きを許可する必要があります。
参考:final キーワードの使用
□ インターフェースのメソッドはデフォルトでpublicです。
これは不正解です。Apexのインターフェース内のメソッドは、アクセス修飾子を指定せずに定義され、自動的にグローバルとなります。したがって、「デフォルトでpublic」という表現は不正確で、「デフォルトでglobal」が正しいです。
参考:アクセス修飾子
□ 内部クラスはデフォルトでprivateです。
これは正解です。Apexでは、内部クラスはデフォルトでprivateとなります。これは、アクセス修飾子を明示的に指定しない限り、内部クラスはそれを含むクラスからしかアクセスできないことを意味します。
参考:Apex クラス定義
□ 最上位クラスは1つの内部クラスレベルのみを持つことができます。
これは正解です。Apexでは、内部クラスは一つのレベル深さしか持つことができません。つまり、内部クラス内にさらに内部クラスを定義することはできません。
参考:Apex クラス定義
次の問題へ
【Salesforce 認定Platformデベロッパー】試験対策:第53問
問題 階層カスタム設定は、Salesforceの各プロファイルの特定のURLを保存します。開発者は、どのステートメントを使用して現在のユーザーのプロファイルの正しいURLを取…
前の問題へ
【Salesforce 認定Platformデベロッパー】試験対策:第51問
問題 Application__cという名前のカスタムオブジェクトは、Position__cという名前の別のカスタムオブジェクトとの参照関係を持っています。Application__cとPosition__c…
1問目から復習する
【Salesforce 認定Platformデベロッパー】試験対策:第1問
問題 デバッグログに書き込まれるときのxの値は何ですか。 Integer x = 0; do { x = 1; x++; } while (x < 1); System.debug(x); 0 1 2 3 正解 0 1 2 3 解説 デバッ…
コメント