设计模式之状态模式java ——购物

来源:互联网 发布:男友被口 体验 知乎 编辑:程序博客网 时间:2024/06/01 20:37

设计模式之状态模式java ——购物

1、定义状态接口,也可以是抽象类abstract,这里我喜欢用接口Interface

  • 购物接口

// 购物接口public interface IShopping {<span style="white-space:pre"></span>//接口是模拟购物2中情况,正常销售,促销活动。两个状态<span style="white-space:pre"></span>public void sale();}

2、实例化具体的状态,这里我有两个一个是正常购物,一个促销购物

  • 正常购物
// 平常购物类实现购物接口public class ImpNormalShopping implements IShopping{@Overridepublic void sale() {System.out.println("正常情况下,只买自己 1 件的东西!!!");}}
  • 促销购物
// 活动促销类实现购物接口public class ImplActiveShopping implements IShopping {@Overridepublic void sale() {System.out.println("促销、大甩卖了,买了一大堆东西!!!");}public void setStatue( IShopping statue){statue.sale();}}
  • 控制状态的类
// 商家控制类public class ConreateBoss {/** * 模拟具体的卖家 */// 默认是正常销售private IShopping statue = new ImpNormalShopping();public ConreateBoss(){}public void sale(){statue.sale();}public void setStatue(IShopping statue){this.statue = statue;}}

  • 客户端显示
// 客户端public class Main {public static void main(String[] args){// 一般买家都是少买东西ConreateBoss boss = new ConreateBoss();boss.sale();// 活动来了,就多买点,因为便宜嘛boss.setStatue(new ImplActiveShopping());boss.sale();}}

  • 运行结果



0 0