010 メソッドのオーバーロード 003 解答例

public class ProductPricing {

    // 数量と単価を考慮した合計価格の計算メソッド
    public double calculateTotalPrice(int quantity, double unitPrice) {
        return quantity * unitPrice;
    }

    // 割引率を適用した場合の合計価格の計算メソッド(オーバーロード)
    public double calculateTotalPrice(int quantity, double unitPrice, double discountRate) {
        double discountedPrice = quantity * unitPrice * (1 - discountRate);
        return discountedPrice;
    }

    public static void main(String[] args) {
        ProductPricing pricing = new ProductPricing();

        // 割引なしの場合の合計価格
        double result1 = pricing.calculateTotalPrice(5, 20.0);
        System.out.println("割引なしの場合の合計価格: " + result1);

        // 割引適用の場合の合計価格
        double result2 = pricing.calculateTotalPrice(5, 20.0, 0.1);
        System.out.println("割引適用の場合の合計価格: " + result2);
    }
}

このコードでは、ProductPricing クラス内に calculateTotalPrice メソッドをオーバーロードしています。main メソッドでは、それぞれのメソッドを呼び出して結果を表示しています。

ポイント:

  • calculateTotalPrice メソッドは、数量と単価を受け取り、それらを掛け合わせて合計価格を計算します。
  • 更なるオーバーロードでは、割引率が適用された場合の価格を計算しています。
  • 同じ名前のメソッドで引数の型や数が異なり、それぞれの場合に合った計算ができるようになっています。

「010 メソッドのオーバーロード」問題集リスト