一.实验内容
同学们应该都去麦当劳或肯德基吃过快餐吧?请同学们参考肯德基官网的信息模拟肯德基快餐店的收银系统,合理使用C++或Java或Python结合设计模式(2种以上)至少实现系统的以下功能:
1.正常餐品结算和找零。
2.基本套餐结算和找零。
3.使用优惠劵购买餐品结算和找零。
4.可在一定时间段参与店内活动(自行设计或参考官网信息)。
5.模拟打印小票的功能(写到文件中)。
基本要求:
1.程序设计风格良好,控制台界面友好,最多两人一组完成任务。
2.实现功能测试代码,确保程序的健壮性。
3.画出使用的设计模式图。
程序设计方法学第四章作业
二.算法设计思路
利用java模拟肯德基快餐店的收银系统,用到的设计模式有抽象工厂模式,工厂模式,策略模式等。抽象工厂模式用来产生套餐,策略模式用来实现不同活动下实现不同价格的算法。
抽象工厂模式下包括一个食物基类baseFood,以及一个食物接口IFood,还有四种具体食物抽象类。食物基类包含食物的种类,价格以及数量,还有总价函数和计算价格函数。其中有IFood食物接口,其中有抽象方法printMessage()用来打印食物的信息,具体实物类有Humburg、ChingWings、FrenchFires和Drink。其中还有IKFCFactory抽象工厂和Kfcfactory工厂实现类,抽象工厂中包含生产汉堡、鸡翅、薯条和饮料的函数。策略模式下有MemberStrategy接口,接口的实现类Activity,baseStrategy和Price类。
三.类图设计
1.简单工厂模式
KFC收银系统(java)
最新推荐文章于 2020-06-08 21:43:50 发布