/// <summary> /// 根据用户的输入选择折扣类型 /// </summary> /// <param name="input"></param> /// <returns></returns> public BaseDiscount GetDiscount(string input) { BaseDiscount dis = null; switch (input) { case "1": dis = new NoDiscount(); break; case "2": dis = new DiscountRate(0.9); break; case "3": dis = new DiscountRate(0.85); break; case "4": dis = new DiscountBuyMSendN(300, 50); break; case "5": dis = new DiscountBuyMSendN(500, 100); break; } return(dis); }
/// <summary> /// 根据用户的输入选择一个打折方式 /// 这里使用的就是典型的--简单工厂模式 /// </summary> /// <param name="input">打折方式</param> /// <returns>f返回一个打折父类类型,但是装的一定是一个子类类型的对象</returns> public DiscountFather GetDiscount(string input) { DiscountFather discountWay = null;//注意这个DiscountFather是一个抽象类,不能实例化 switch (input) { case "1": discountWay = new DiscountNormal(); break; case "2": discountWay = new DiscountRate(0.9); break; case "3": discountWay = new DiscountRate(0.85); break; case "4": discountWay = new DiscountMForN(300, 50); break; case "5": discountWay = new DiscountMForN(500, 100); break; } return(discountWay); }