用java实现KFC收银:请同学们参考肯德基官网的信息模拟肯德基快餐店的收银系统

本文介绍了一项模拟肯德基收银系统的编程任务,要求使用C++/Python/Java实现,结合设计模式(如工厂模式、抽象工厂模式和策略模式)来完成。系统需具备正常餐品结算、套餐结算、优惠券结算、活动折扣和打印小票等功能。文中详细阐述了设计思路,包括工厂模式用于创建产品,抽象工厂模式用于生成相关产品族,策略模式处理不同优惠策略。此外,还提供了部分代码实现和设计模式的解释。
摘要由CSDN通过智能技术生成

一.题目要求:

同学们应该都去麦当劳或肯德基吃过快餐吧?请同学们参考肯德基官网的信息模拟肯德基快餐店的收银系统,合理使用C++/python/Java,结合设计模式(2种以上)至少实现系统的以下功能:

1.正常餐品结算和找零。

2.基本套餐结算和找零。

3.使用优惠劵购买餐品结算和找零。

4.可在一定时间段参与店内活动(自行设计或参考官网信息)。

5.模拟打印小票的功能(写到文件中)。

基本要求:

  1. 程序设计风格良好,控制台界面友好。
  2. 实现功能测试代码,确保程序的健壮性。
  3. 画出使用的设计模式图。

二:思路分析及设计:

主要用到工厂模式和抽象工厂模式,策略模式。

1.工厂模式

工厂模式(Factory Pattern)工厂方法模式(Factory Method Pattern)简称工厂模式,也叫虚拟构造器(Virtual Constructor)模式或者多态工厂(Polymorphic Factory)模式,它属于类创建型模式。

在工厂方法模式中,工厂父类负责定义创建产品对象的公共接口,而工厂子类则负责生成具体的产品对象,这样做的目的是将产品类的实例化操作延迟到工厂子类中完成,即通过工厂子类来确定究竟应该实例化哪一个具体产品类。

工厂方法模式包含如下角色:

Product:抽象产品

ConcreteProduct:具体产品

Factory:抽象工厂

ConcreteFactory:具体工厂

工厂方法模式是简单工厂模式的进一步抽象和推广

增加具体产品-->增加具体工厂,符合“开闭原则”

2.2抽象工厂模式

抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,属于对象创建型模式。

产品等级结构:产品等级结构即产品的继承结构,例如一个抽象类是电视机,其子类有海尔电视机、海信电视机、TCL电视机,则抽象电视机与具体品牌的电视机之间构成了一个产品等级结构,抽象电视机是父类,而具体品牌的电视机是其子类。

产品族:在抽象工厂模式中,产品族是指由同一个工厂生产的,位于不同产品等级结构中的一组产品,例如海尔电器工厂生产的海尔电视机、海尔电冰箱,海尔电视机位于电视机产品等级结构中,海尔电冰箱位于电冰箱产品等级结构中。

策略模式

策略模式下有MemberStrategy接口,接口的实现类Activity,baseStrategy类。

策略模式,

  public interface MemberStrategy {

          /**  * 计算餐品的价格

     * @param booksPrice    餐品的原价

     * @return    计算出打折后的价格*/

            public float calcPrice(float foodPrice);

}

    优惠券

 public class baseStrategy  implements MemberStrategy{

       public float calcPrice(float foodPrice) {//重写计算价格方法

              return foodPrice-10;//10元的优惠券}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值