资讯专栏INFORMATION COLUMN

java 策略模式-2015下半年软考-设计模式

qujian / 1749人阅读

摘要:商店有三种策略原价打折满减枚举三种策略原价打折满减实现结果为

商店有三种策略[原价、打折、满减]

//枚举三种策略
enum TYPE {NORMAL,CASH_DISCOUNT,CASH_RETURN}

interface CashSuper{
    public double acceptCash(double money);    
}

//原价
class CashNormal implements CashSuper{
    public double acceptCash(double money){
        return money;
    }
}

//打折
class CashDiscount implements CashSuper{
    private double discountRate;

    public CashDiscount(double discountRate){
        this.discountRate=discountRate;
        
    }
    public double acceptCash(double money){
        return money*discountRate;
    }
}

//满减
class CashReturn implements CashSuper{
    private double moneyCondition;
    private double moneyReturn;
    
    public CashReturn(double moneyCondition,double moneyReturn){
        
        this.moneyCondition=moneyCondition;
        this.moneyReturn=moneyReturn;
    
    }
    public double acceptCash(double money){
        
        double result =money;
        if(money>=moneyCondition){
            result=money-moneyReturn;
        }
        return result;
    }
}
public class CashContent {
    private CashSuper sc;
    private TYPE t;
    
    public CashContent (TYPE t){
            switch (t){
            case NORMAL:
            sc=new CashNormal();
            break;
            
            case CASH_DISCOUNT:
            sc=new CashDiscount(0.9);
            break;
            
            
            case CASH_RETURN:
            sc=new CashReturn(300.00,50.00);
            break;
        
        }
        
        
    }
    
//实现
    public static void main(String[] argus){
        CashContent cc=new CashContent(TYPE.CASH_RETURN);
        //CashContent cc=new CashContent(TYPE.CASH_DISCOUNT);
        //CashContent cc=new CashContent(TYPE.NORMAL);
        
        System.out.println(cc.sc.acceptCash(900));//结果为900-50=850.0
        
    }
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/65281.html

相关文章

  • 2021年10月6日 软考中级笔记---软件设计师(B站视频笔记)

    摘要:死锁问题可以预防,可以解决死锁年月日数据库的完整性约束实体完整性约束定义主键。主键不能为空,不能重复参照完整性约束外键。系统需要进行多次连接,才能进行查询操作,是的系统效率大大下降。 ...

    superPershing 评论0 收藏0
  • Enda 的 2015 半年读书计划

    摘要:下半年的读书计划方面设计模式核心技术与最佳实践设计模式深入方面高性能深入理解核心技术其他天才在左疯子在右大家有什么好书吗推荐推荐嘛 2015下半年的读书计划 php 方面 《PHP设计模式》 《PHP核心技术与最佳实践》 《learning php设计模式》 《深入php》 Mysql 方面 《高性能MySQL》 《深入理解mysql核心技术》 其他 《天才在左疯子...

    olle 评论0 收藏0
  • 王下邀月熊_Chevalier的前端每周清单系列文章索引

    摘要:感谢王下邀月熊分享的前端每周清单,为方便大家阅读,特整理一份索引。王下邀月熊大大也于年月日整理了自己的前端每周清单系列,并以年月为单位进行分类,具体内容看这里前端每周清单年度总结与盘点。 感谢 王下邀月熊_Chevalier 分享的前端每周清单,为方便大家阅读,特整理一份索引。 王下邀月熊大大也于 2018 年 3 月 31 日整理了自己的前端每周清单系列,并以年/月为单位进行分类,具...

    2501207950 评论0 收藏0

发表评论

0条评论

qujian

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<