利用java模拟肯德基收银系统

一.题目分析
模拟肯德基收银系统
1.实现正常餐品结算和找零
2.实现基本套餐结算和找零
3.使用优惠卷购买商品结算和找零
4.在一定时间段参与店内活动
5.实现会员卡储值功能,完成存储消费
6.模拟打印小票功能
二.算法设计思路
由于肯德基店中各种汉堡、小吃等都属于食物,所以先创建一个抽象的食物类。食物类中有foodNmae,price,num等成员变量,再定义一个食物类的有参构造方法,用来给成员变量赋值。再定义totalPricr()方法来计算某一类食物的总价格,show()方法来输出所点食物的信息。然后再创建Hamburgers,Chips等类来继承Food()类
定义一个肯德基工厂的接口,接口中有4个抽象方法分别来返回四种食物类的的对象。再定义一个kendejiStore类来继承肯德基工厂这个接口,重写四种方法,根据传进来的参数,产生相应的foodName,price,num值,通过构造方法给该对象返回。
定义一个kendejiEmployyee类来实现肯德基收银系统的全部流程。此类中,有work()和SettleAccount()方法分别模拟点餐和付费俩个过程。

类图设计:
利用java模拟肯德基收银系统

三.调试及测试截图
菜单显示
利用java模拟肯德基收银系统

正常餐品结算与找零
利用java模拟肯德基收银系统

套餐结算与找零
利用java模拟肯德基收银系统

提供的付款方式
利用java模拟肯德基收银系统

使用优惠卷购买商品结算和找零

1.当用户使用支付宝结账时会出现减免优惠
利用java模拟肯德基收银系统

2.使用会员卡结账,打八折
首先会出现有无会员卡俩种情况

利用java模拟肯德基收银系统

如果有会员卡
直接输入会员卡的卡号即可
利用java模拟肯德基收银系统

无会员卡时,可以直接注册

利用java模拟肯德基收银系统

在中午俩点到四点时,由于是淡季,所以所有商品打九五折
利用java模拟肯德基收银系统

模拟打印小票

利用java模拟肯德基收银系统

四.总结
进一步的体会到了设计模式的好处。在一开始的构思中,采用原来的思维,结果列出的思路框架杂乱无章。在使用工厂模式来设计该程序后。程序的框架看起来比较清晰,无论是自己还是其他人,都可以清晰明了的读懂程序,而且该设计模式也符合设计原则的开闭原则。