python使用面向对象思维写一个银行管理系统
时间: 2023-09-01 10:13:36 浏览: 78
好的,下面是一个简单的银行管理系统的 Python 代码实现,采用了面向对象的思想:
```python
class Account:
def __init__(self, name, balance):
self.name = name
self.balance = balance
self.transactions = []
def deposit(self, amount):
self.balance += amount
self.transactions.append(('deposit', amount))
def withdraw(self, amount):
if amount > self.balance:
print('Insufficient funds.')
else:
self.balance -= amount
self.transactions.append(('withdraw', amount))
def get_balance(self):
return self.balance
def get_transactions(self):
return self.transactions
class Bank:
def __init__(self):
self.accounts = {}
def add_account(self, name, balance):
self.accounts[name] = Account(name, balance)
def get_account(self, name):
if name in self.accounts:
return self.accounts[name]
else:
print('Account not found.')
def transfer(self, from_name, to_name, amount):
if from_name in self.accounts and to_name in self.accounts:
if self.accounts[from_name].get_balance() >= amount:
self.accounts[from_name].withdraw(amount)
self.accounts[to_name].deposit(amount)
else:
print('Insufficient funds.')
else:
print('Account not found.')
```
上面的代码中,我们定义了两个类:`Account` 和 `Bank`。`Account` 类表示一个账户,其中包含账户名、余额和交易记录等属性,以及存款、取款等方法。`Bank` 类表示一个银行,其中包含所有账户的字典,以及添加账户、获取账户、转账等方法。
我们可以使用如下代码来测试这个银行管理系统:
```python
bank = Bank()
bank.add_account('Alice', 100)
bank.add_account('Bob', 50)
alice = bank.get_account('Alice')
bob = bank.get_account('Bob')
alice.deposit(50)
bob.withdraw(20)
bank.transfer('Alice', 'Bob', 30)
print(alice.get_balance())
print(bob.get_balance())
print(alice.get_transactions())
print(bob.get_transactions())
```
输出结果如下:
```
130
60
[('deposit', 50), ('withdraw', 30)]
[('withdraw', 20), ('deposit', 30)]
```
以上就是一个简单的银行管理系统的 Python 代码实现,希望能对您有所帮助。