問題
- 仮想的なペイメントシステムを設計してください。
- PaymentProcessor(抽象クラス)
- メソッド: processPayment(double amount)(支払いを処理する)
- CreditCardPaymentProcessor(クレジットカード支払い)
- メソッド: authorizeCreditCard()(クレジットカードを認証する)
- PayPalPaymentProcessor(PayPal支払い)
- メソッド: verifyPayPalAccount()(PayPalアカウントを確認する)
- PaymentProcessor(抽象クラス)
ヒント
- PaymentProcessor クラス(抽象クラス):
PaymentProcessor
クラスは抽象クラスで、processPayment(double amount)
メソッドを持つ。processPayment
メソッドは支払いを処理するための共通の処理を提供する。
- CreditCardPaymentProcessor クラス(具象クラス):
CreditCardPaymentProcessor
クラスはPaymentProcessor
クラスを拡張し、authorizeCreditCard()
メソッドを実装する。authorizeCreditCard
メソッドはクレジットカードを認証するための特有の処理を提供する。
- PayPalPaymentProcessor クラス(具象クラス):
PayPalPaymentProcessor
クラスはPaymentProcessor
クラスを拡張し、verifyPayPalAccount()
メソッドを実装する。verifyPayPalAccount
メソッドは PayPal アカウントを確認するための特有の処理を提供する。
この設計により、PaymentProcessor
クラスは支払いの共通処理を提供し、具象クラスである CreditCardPaymentProcessor
と PayPalPaymentProcessor
はそれぞれクレジットカード支払いと PayPal 支払いの特有の処理を提供します。これによって、ペイメントシステムが柔軟で拡張可能な設計になります。
→解答例