-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTransaction.java
More file actions
39 lines (33 loc) · 1.11 KB
/
Transaction.java
File metadata and controls
39 lines (33 loc) · 1.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// Transaction.java
// Abstract superclass Transaction represents an ATM transaction
public abstract class Transaction
{
private int accountNumber; // indicates account involved
protected Screen screen; // ATM's screen
private BankDatabase bankDatabase; // account info database
// Transaction constructor invoked by subclasses using super()
public Transaction(int userAccountNumber, Screen atmScreen,
BankDatabase atmBankDatabase)
{
accountNumber = userAccountNumber;
screen = atmScreen;
bankDatabase = atmBankDatabase;
} // end Transaction constructor
// return account number
public int getAccountNumber()
{
return accountNumber;
} // end method getAccountNumber
// return reference to screen
public Screen getScreen()
{
return screen;
} // end method getScreen
// return reference to bank database
public BankDatabase getBankDatabase()
{
return bankDatabase;
} // end method getBankDatabase
// perform the transaction (overridden by each subclass)
abstract public void execute();
}