JAVA实现KFC的收银系统

一、题目名称:肯德基快餐店的收银系统
二、题目内容:
同学们应该都去麦当劳或肯德基吃过快餐吧?请同学们参考肯德基官网的信息模拟肯德基快餐店的收银系统 , 合理使用C++或Java或结合设计模式(2种以上)至少实现系统的以下功能:
1.正常餐品结算和找零 。
2.基本套餐结算和找零 。
3.使用优惠劵购买餐品结算和找零 。
4.可在一定时间段参与店内活动(自行设计或参考官网信息) 。
5.模拟打印小票的功能(写到文件中) 。
基本要求:
1.程序设计风格良好 , 控制台界面友好 , 最多两人一组完成任务 。
2.实现功能测试代码 , 确保程序的健壮性 。
画出使用的设计模式图 。

JAVA实现KFC的收银系统

文章插图
三、模式设计:
1.抽象工厂模式:
抽象工厂模式()是围绕一个超级工厂创建其他工厂 。该超级工厂又称为其他工厂的工厂 。这种类型的设计模式属于创建型模式 , 它提供了一种创建对象的最佳方式 。在抽象工厂模式中 , 接口是负责创建一个相关对象的工厂 , 不需要显式指定它们的类 。每个生成的工厂都能按照工厂模式提供对象 。我主要是参照上课时抽象工厂模式的那个家电例子和KFC的食品类似 , 所以选择的抽象工厂模式 。
2.KFC打折的模式适合用策略模式去做 , 设计模式如下:
四、程序实现:
(1)首先实现的是KFC的食品部分
IFood 是抽象事物类的接口 , 用来实现事物的资料打印 。是所有事物的基类 , 定义了食物的属性:名字、价格、数量 。其他的就是具体的事食物类 。
(2)下面实现的是KFC的食品部分
里边是个工厂的接口和一个具体的工厂类 , 里边实现了工厂生产食物 。
JAVA实现KFC的收银系统

文章插图
(3)客户类的实现
(4)策略模式实现的打折
【JAVA实现KFC的收银系统】(5)实现具体的店铺进行食品售卖
六、运行结果
七、心得体会:
1.刚开始写代码的时候参照那个家电的例子写的很困难 , 然后在网上找到了一个一个类似的文章 , 仿照着完成了KFC食品和工厂部分代码的撰写 , 没有出现什么大的问题 , 
2.这次编程最大的收获就是亲自编写了具有两种设计模式的程序 , 发现程序的设计真的没有那么简单 , 亲身体会了设计模式的编写过程 , 学会了设计模式在程序中的应用 , 特别是策略者模式的应用 。
参考地址: