本篇用C#实现ATM自动取款机的一些功能。面临的第一个问题是:如何把与自动取款机相关的有形的、无形的方面抽象出来。大致如下:
(1)关于用户帐号的类:Account(2)关于银行数据库的类:BankDatabase(3)关于ATM屏幕显示的类:Screen(4)关于ATM键盘的类:Keypad(5)关于进钞、出钞口的类:DepositSlot(6)关于ATM出钱的类:CashDispendser(7)关于事务的基类:Transaction(8)关于查询的事务类:BalanceInquiry(9)关于取款的事务类:Withdrawl(10)关于存款的事务类:Deposit(11)关于ATM本身的类:ATM(12)运行
(1)关于用户帐号的类:Account
该类包含与卡号、密码、可用余额、总余额相关的字段和属性,比提供了存款和取款的方法。
namespace MyATM{/// <summary>/// 用户帐号/// </summary>public class Account{PRivate int accountNumber; //卡号private int pin;//用来验证private decimal availableBalance;//可用余额private decimal totalBalance;//总余额public Account(int theAccountNumber, int thePIN, decimal theAvailableBalance, decimal theTotalBalance){accountNumber = theAccountNumber;pin = thePIN;availableBalance = theAvailableBalance;totalBalance = theTotalBalance;}//卡号 只读属性public int AccountNumber{get { return accountNumber; }}//可提取余额 只读属性public decimal AvailableBalance{get { return availableBalance; }}//总余额 只读属性public decimal TotalBalance{get { return totalBalance; }}//验证输入密码是否正确public bool ValidatePIN(int userPIN){return (userPIN == pin);}//存款
新闻热点
疑难解答