【Salesforce認定Platformデベロッパー】 試験対策:第211問

問題

開発者は、PaymentProcessorインタフェースで定義されている支払いに準拠した小切手処理支払機能を提供するCheckPaymentProcessorクラスを実装する必要があります。

public interface PaymentProcessor {
    void pay(Decimal amount);
}

PaymentProcessorインタフェースクラスを使用する正しい実装はどれですか。

A

Public class CheckPaymentProcessor extends PaymentProcessor {
    public void pay(Decimal amount)  {
        // 実装の詳細
    }
}

B

public class CheckPaymentProcessor extends PaymentProcessor {
    public void pay(Decimal amount);
}

C

public class CheckPaymentProcessor implements PaymentProcessor {
    public void pay(Decimal amount)  {
        // 実装の詳細
    }
}

D

public class CheckPaymentProcessor implements PaymentProcessor {
    public void pay(Decimal amount);
}

正解

C

解説

問題のポイントを以下にまとめます。

  • extendsimplementsの違い: extendsキーワードはクラスの継承に使用され、継承されたクラスは親クラスのプロパティやメソッドを継承します。一方、implementsキーワードはインターフェースの実装に使用され、クラスはインターフェースで定義されたすべてのメソッドを具体的に実装する必要があります。
  • インターフェースの実装: インターフェースを実装するクラスは、インターフェースに定義されている全てのメソッドを実装する必要があります。これは、インターフェースが具体的な実装を持たないメソッドのシグネチャを提供するため、実装クラスがこれらのメソッドに具体的な機能を提供することを意味します。

それぞれの選択肢の理由について説明します。

A

public class CheckPaymentProcessor extends PaymentProcessor {
    public void pay(Decimal amount)  {
        // 実装の詳細
    }
}

これは不正解です。Apexでは、extendsキーワードはクラスの継承に使用されますが、インターフェースには使用されません。インターフェースを実装する際にはimplementsキーワードを使用します。

B

public class CheckPaymentProcessor extends PaymentProcessor {
    public void pay(Decimal amount);
}

これは不正解です。こちらもインターフェースの実装にはimplementsを使用する必要があります。また、メソッドの宣言だけではなく、具体的な実装(中括弧内のコード)が必要です。

C

public class CheckPaymentProcessor implements PaymentProcessor {
    public void pay(Decimal amount)  {
        // 実装の詳細
    }
}

これは正解です。この選択肢は、インターフェースPaymentProcessorを正しく実装しています。メソッドpayには、具体的な実装(ここでは空の実装)が提供されています。

D

public class CheckPaymentProcessor implements PaymentProcessor {
    public void pay(Decimal amount);
}

これは不正解です。インターフェースのメソッドを実装する際には、メソッドの本体(実装)が必要です。この選択肢はメソッドの実装を提供していません。

次の問題へ

前の問題へ

1問目から復習する

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

雇われのシステムエンジニアです。
普段は車載ECUのセキュリティー分野に従事しております。

■保有資格
Salesforce 認定 Platform アプリケーションビルダー
Salesforce 認定 Platform デベロッパー

コメント

コメントする

目次