博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
策略模式UML图形及代码
阅读量:2351 次
发布时间:2019-05-10

本文共 1148 字,大约阅读时间需要 3 分钟。

参考:http://blog.csdn.net/lovelion/article/details/17517213 

 

//电影票类:环境类  class MovieTicket {      private double price;      private Discount discount; //维持一个对抽象折扣类的引用        public void setPrice(double price) {          this.price = price;      }        //注入一个折扣类对象      public void setDiscount(Discount discount) {          this.discount = discount;      }        public double getPrice() {          //调用折扣类的折扣价计算方法          return discount.calculate(this.price);      }  }    //折扣类:抽象策略类  interface Discount {      public double calculate(double price);  }    //学生票折扣类:具体策略类  class StudentDiscount implements Discount {      public double calculate(double price) {          System.out.println("学生票:");          return price * 0.8;      }  }     //儿童票折扣类:具体策略类  class ChildrenDiscount implements Discount {      public double calculate(double price) {          System.out.println("儿童票:");          return price - 10;      }  }     //VIP会员票折扣类:具体策略类  class VIPDiscount implements Discount {      public double calculate(double price) {          System.out.println("VIP票:");          System.out.println("增加积分!");          return price * 0.5;      }  }

 

 

 

你可能感兴趣的文章
IMAP,POP3,SMTP协议
查看>>
数据库协议
查看>>
SNMP协议
查看>>
RDP远程桌面协议
查看>>
ssh Forward X11
查看>>
搜索引擎知识图谱相关结构化数据挖掘与去歧处理
查看>>
找到n个元素中的第二小元素
查看>>
linux命令之find
查看>>
linux命令学习之cut
查看>>
linux下目录读权限与执行权限区别
查看>>
[think in java]知识点学习
查看>>
linux下线程调试 ulimit core
查看>>
linux 知识点拾遗
查看>>
java equal和==的区别
查看>>
c++中static的用法总结
查看>>
const的常见用法
查看>>
crontab使用手册
查看>>
虚继承与虚基类的本质
查看>>
函数式编程
查看>>
GitHub上整理的一些工具
查看>>