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);
}
}


