本篇用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);}//存款
新聞熱點
疑難解答