008-003-012
メソッド呼び出しチェーンで注文処理
上級
問題説明
メソッド呼び出しチェーンで注文処理
この問題では: OrderProcessor クラスに複数のメソッドを定義し、processOrder() が validateOrder() → calculateTotal() → applyDiscount() → generateReceipt() の順に呼び出すチェーン構造を実装します。各メソッドの中間結果を標準出力に表示するプログラムを作成します。
学習目標: メソッドが他のメソッドを呼び出す構造(間接呼び出し)を理解し、処理を分割して組み合わせる設計を習得する
概要
1つの処理を複数の小さなメソッドに分割し、順に呼び出すことで、コードの可読性と保守性が向上します。各メソッドが1つの責務を持つことが、良い設計の基本です。
仕様
OrderProcessor クラス
processOrder(String item, int quantity, int unitPrice): 全体の処理を制御。他の4つのメソッドを順に呼び出すvalidateOrder(String item, int quantity): 注文内容を検証しValidating: [item] x [quantity]を出力。trueを返すcalculateTotal(int quantity, int unitPrice): 合計を計算しSubtotal: [合計]を出力。合計を返すapplyDiscount(int total): 10%割引を適用しDiscount: -[割引額]を出力。割引後金額を返すgenerateReceipt(String item, int finalTotal):Receipt: [item] = [finalTotal]を出力
Main クラス
OrderProcessorを生成し、processOrder("Laptop", 2, 1000)を呼び出す
出力形式
Validating: Laptop x 2
Subtotal: 2000
Discount: -200
Receipt: Laptop = 1800
