java: Decorator Patterns
/** * 版权所有 2022 涂聚文有限公司 * 许可信息查看: * 描述: * 装饰模式 Decorator Patterns * 历史版本: JDK 14.02 * 2022-09-12 创建者 geovindu * 2022-09-12 添加 Lambda * 2022-09-12 修改:date * 接口类 * 2022-09-12 修改者:Geovin Du * 生成API帮助文档的指令: *javadoc - -encoding Utf-8 -d apidoc OrderLine.java * * */ package com.javapatterns.decorator; import java.text.NumberFormat; /** *具体类 * 货物清单 * @author geovindu * * */ public class OrderLine { private String itemName; private int units; private double unitPrice; /** *产品名取值方法 * @return * */ public String getItemName() { return itemName; } /** *产品名赋值方法 * @param itemName * * */ public void setItemName(String itemName) { this.itemName = itemName; } /** *单位数量的取值方法 * @return * * */ public int getUnits() { return units; } /** *单位数量的赋值方法 * @param units 单位数量 * * */ public void setUnits(int units) { this.units = units; } /** *单价的取值 方法 * @return * * */ public double getUnitPrice() { return unitPrice; } /** *单价的赋值 方法 * @param unitPrice * * */ public void setUnitPrice(double unitPrice) { this.unitPrice = unitPrice; } /** *打印订单方法 * * */ public void printLine() { System.out.println(itemName + " " + units + " " + formatCurrency(unitPrice) + " " + formatCurrency(getSubtotal())); } /** *小计金额取值方法 * @return * * */ public double getSubtotal() { return unitPrice * units; } /** *工具方法 将金额格式化 * @param amnt * @return * * */ private String formatCurrency(double amnt) { return NumberFormat.getCurrencyInstance().format(amnt); } }