java: Decorator Patterns

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


}
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » java: Decorator Patterns