面向对象编程ATM机代码
时间: 2024-12-14 21:21:35 浏览: 2
面向对象的ATM机代码通常会包含以下几个关键部分:
1. **类定义**:
- `BankAccount` 类:表示用户的账户,包括属性如账号、余额等,以及方法如存款、取款、查询余额等。
```java
public class BankAccount {
private String accountNumber;
private double balance;
// 构造函数,getters和setters
public BankAccount(String accountNumber, double initialBalance) {
this.accountNumber = accountNumber;
this.balance = initialBalance;
}
// 存款方法
public void deposit(double amount) {
if (amount > 0) {
balance += amount;
}
}
// 取款方法
public boolean withdraw(double amount) {
if (amount <= balance) {
balance -= amount;
return true;
} else {
return false;
}
}
// 查询余额方法
public double getBalance() {
return balance;
}
}
```
2. **`ATMMachine` 类**:
- 这是一个抽象类或接口,定义了与用户交互的行为,如选择操作、输入密码等。
```java
public abstract class ATMMachine {
protected BankAccount account;
public ATMMachine(BankAccount account) {
this.account = account;
}
// 公共方法
public void selectOption(int option) {
// 处理选项逻辑
}
public boolean enterPIN(String pin) {
// 检查输入是否匹配账户密码
}
}
```
3. **`ATMConcreteMachine` 类**:
- 继承自 `ATMMachine` 并实现了公共方法,这是实际的ATM机实例。
```java
public class atm extends ATMMachine {
public atm(BankAccount account) {
super(account);
}
@Override
public void selectOption(int option) {
switch (option) {
case 1:
withdraw();
break;
case 2:
deposit();
break;
// ...其他选项
}
}
// 具体实现取款和存款操作
private void withdraw() {
// 实现逻辑...
}
private void deposit() {
// 实现逻辑...
}
}
```
阅读全文