说明
某大型购物中心欲开发一套收银软件,要求其能够支持购物中心在不同时期推出的各种促销活动,如打折、返利(例如,满300返100)等等。
现采用策略(Strategy)模式实现该要求,其类图如下图所示。
Java代码
import java.util.*; //把util这个包下的全部类导入到程序中
//*表示的是通配符,包括util的所有类
enum TYPE {
NORMAL, CASH_DISCOUNT, CASH_RETURN}; //定义枚举类TYPE
//CashContext使用接口CashSuper来调用CashNormal、CashDiscount和CashReturn定义的算法
interface CashSuper {
//定义算法的公共接口CashSuper
public double acceptCash(double money);
}
class CashNormal implements CashSuper {
//定义实现接口CashSuper的类CashNormal(正常收费)
public double acceptCash(double</