7-3 设计一个银行流水账号类 分数 10 作者 曹记东 单位 陕西理工大学
时间: 2024-10-09 18:03:15 浏览: 48
设计一个简单的银行流水账号类(BankAccount)可以包含以下几个关键属性和方法:
1. 属性:
- accountNumber (账户号码): 唯一标识每个账户的字符串,比如"1234567890ABCDEF"
- accountHolder (户主姓名): 存款人的姓名,用于记录持有者信息
- balance (余额): 账户当前的可用资金数值
- transactionHistory (交易历史): 一个列表或集合,存储账户的所有交易记录
2. 构造函数:
- BankAccount(accountNumber, accountHolder, initialBalance=0): 初始化账户号码、户主姓名和初始余额。
3. 方法:
- deposit(amount): 向账户存入金额,更新余额,并添加存款记录到交易历史。
- withdraw(amount): 从账户取出金额,检查是否有足够的余额,如有则更新余额并添加取款记录。
- checkBalance(): 返回当前余额。
- showTransactionHistory(): 显示账户的交易历史。
- transfer(toAccount, amount): 将指定金额转账给另一个账户,需要检查余额是否足够,更新双方账户并添加转账记录。
```python
class BankAccount:
def __init__(self, account_number, account_holder, initial_balance=0):
self.account_number = account_number
self.account_holder = account_holder
self.balance = initial_balance
self.transaction_history = []
def deposit(self, amount):
if amount > 0:
self.balance += amount
self.transaction_history.append(f'Deposit: {amount}元')
def withdraw(self, amount):
if amount <= self.balance:
self.balance -= amount
self.transaction_history.append(f'Withdrawal: {amount}元')
else:
print("Insufficient balance.")
def check_balance(self):
return self.balance
def show_transaction_history(self):
for transaction in self.transaction_history:
print(transaction)
def transfer(self, to_account, amount):
if amount > 0 and self.check_balance() >= amount:
self.withdraw(amount)
to_account.deposit(amount)
self.transaction_history.append(f'Transfer: {amount}元 to {to_account.account_number}')
```
阅读全文