問題
- 仮想的なペイメントシステムを設計してください。
- 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 支払いの特有の処理を提供します。これによって、ペイメントシステムが柔軟で拡張可能な設計になります。
→解答例


