在最初接触面向对象编程时,你会感到有些不习惯,但这种编程范式却有助于我们思考问题,前提是你准确的理解面向对象这四个字的含义。今天,我以银行账户为例向你展示如何利用面向对象的编程方法来编写一个银行账户,这个过程中,你将感受到面向对象编程与面向过程编程的不同。
1. 属性与方法
我需要一个银行账户的类,我将其命名为BankAccount, 它应该有如下的属性:
用户姓名(username)
账号(card_no)
余额(balance)
这个类还应该有几个方法:
存钱(deposit)
取钱(withdrawal)
转账(transfer)
查看操作记录(history)
2. 业务分析
在取钱时,如果账户余额小于所取金额,那么要提示用户余额不足,在转账的时候同样如此。在存钱,取钱,转账时,都必须将业务操作记录保存到一个列表中,查看历史记录时,遍历这个列表,这里我不考虑查询历史记录的时间范围。
3. 代码实现
3.1 定义类
class BankAccount(object):
def __init__(self, username, card_no, balance):
self.username = username # 用户姓名
self.card_no = card_no # 账号
self.balance = balance # 余额
self.history_lst = [] # 历史操作记录
def deposit(self, amoun