写作目的:做一下ATM的项目的整体脉络疏导,明白ATM项目的整个流程,在上一篇 带你走进ATM的世界分析篇 ,我们做的是逆向工程的分析,这次我们相当于来一次正向工程的思路
开始操作:本次实战,用到了接下来几个类
ATM ATM Account 账户 Balancelnquiry 查询余额 BankDatabase 银行数据库 CashDispenser 取款口 Deposit 存款 DepositSlot 存款口 Keypad 键盘 Screen 屏幕 Transaction 交易 Withdrawal 取款
讯享网
当我做ATM的项目的时候,首先会想到,它是怎样的流程,它包括什么类
来到ATM的面前,首先是根据屏幕上的提示,完成卡号密码的键入,然后根据屏幕上的提示,完成查询余额,在存款口存款,在取款口取款的操作,完成操作,最后退出就OK了。
通过上一次的ATM分析,我们已经知道了此项目的树干。

讯享网
在实现的时候,我们只是调用了ATM类的atm对象的一个方法run(),为了实现上述操作,我们需宏定义下面的头文件到atm的h文件中

讯享网#include "Screen.h" //屏幕 #include "Keypad.h" //键盘 #include "CashDispenser.h" //取钱 #include "DepositSlot.h" //存钱 #include "BankDatabase.h" //银行数据
由于交易类是查询余额,存款,取款三个类的基类,我们可以直接声明#include " Transaction.h"
为了区分其他类,我们也可以使用class Transaction;
屏幕类:当你登录时提示你输入,当你进入的时候给你展示一些基本操作,当你进入操作的时候提示你该操作接下来该怎么操作。
键盘类:根据屏幕上的提示,根据键盘输入到你想要完成的目的。
交易类:是查询余额,存款,取款的基类。
账户类:有返回用户的各种银行信息的方法。
数据库类:包含着账户的一切信息,有返回用户的各种银行信息的方法。
在账户类的时候我们在一些方法上加了const,在数据库类中有同样的方法,没有加const。
这样做的目的是,再加上账户的vector的使用,可以在数据库类中,巧妙的返回出指定账户类的信息。
在交易类中,我们会使用屏幕类和数据库类。因为它的派生类中,查询余额,存款,取款都会需要屏幕和数据库的帮助,在查询余额中没有要新添的类,在存款类中我们还需要存款口和键盘的协助,在取款类中我们还需要取款口和键盘的协助。
通过上面的简单思路,我们可以使我们的项目更加清晰一点。

再根据上一篇的分析篇,思路会更加清晰(✪ω✪)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/47045.html