zoukankan      html  css  js  c++  java
  • 面向对象作业联系

    设计一个银行业务相关的简单程序,让它具有:

    1.创建账户

    2.存款

    3.取款

    4.展示账户信息

    等基本功能。

    面向过程的思路设计

    def account(name,number,balance):  #返回一个字典
        '''
        :param name: 账户名
        :param number:   账户号码
        :param balance:  账户金额
        :return:  返回一个字典
        '''
        return {
            'name':name,
            'number':number,
            'balance':balance
        }
    
    def deposit(acct,mount):
        '''   
        :param acct: 账户字典 
        :param mount:  存款金额
        :return:  没有返回值(None)
        '''
        if mount <=0:
            print ("不能存负数金额")
        else:
            acct['balance']+=mount
    
    def withdraw(acct,mount):
        '''
        :param acct: 账户字典 
        :param mount: 取款金额
        :return: 没有返回值(None)
        '''
        if mount >acct['balance']:
            print("余额不足!")
        else:
            acct['balance']-=mount
    def desc(acct):
        '''
        :param acct:账户字典 
        :return:  返回该账户的字符串表示
        '''
        return '{name} :{balance}'.format(name=acct['name'],balance=acct['balance'])
    
    p=account('Tuple','1234123',8888)
    withdraw(p,200)
    deposit(p,2000)
    print(desc(p))

    用“类”来替代没有语义的“字典”

    class Account:
        pass
    
    def account(name,number,balance):  #返回一个字典
        acct=Account()
        acct.name=name
        acct.number=number
        acct.balance=balance
        return acct
    
    def deposit(acct,mount):
        '''
        :param acct: 账户字典
        :param mount:  存款金额
        :return:  没有返回值(None)
        '''
        if mount <=0:
            print ("不能存负数金额")
        else:
            acct.balance+=mount
    
    def withdraw(acct,mount):
        '''
        :param acct: 账户字典
        :param mount: 取款金额
        :return: 没有返回值(None)
        '''
        if mount >acct.balance:
            print("余额不足!")
        else:
            acct.balance-=mount
    def desc(acct):
        '''
        :param acct:账户字典
        :return:  返回该账户的字符串表示
        '''
        return '{name} :{balance}'.format(name=acct.name,
                                          balance=acct.balance)
    
    p=account('Tuple','1234123',8888)
    withdraw(p,200)
    deposit(p,2000)
    print(desc(p))

    用“面向对象”的思路设计

    class Account:
        def __init__(self,name,number,balance):
            self.name=name
            self.number=number
            self.balance=balance
    
        def deposit(self,mount):
            if mount <=0:
                print ("不能存负数金额")
            else:
                self.balance+=mount
    
        def withdraw(self,mount):
            if mount >self.balance:
                print("余额不足!")
            else:
                self.balance-=mount
        def desc(self):
            return '{name} :{balance}'.format(name=self.name,
                                              balance=self.balance)
    
    p=Account('Tuple','1234123',8888)
    p.deposit(2000)
    p.withdraw(1500)
    print(p.desc())
  • 相关阅读:
    SharePoint 2007中的Permission Level与Permission之间的关系
    如何确定一个SharePoint列表的ID?
    经典线程死锁
    SharePoint的Workflow History列表在哪里?
    SharePoint Designer中设计的workflow出错了, 怎么办?
    清除MOSS的Timer Job Cache的方法 Clear the SharePoint Configuration Cache
    sp_MSforeachtable和sp_MSforeachdb
    sa安全
    几个排名函数的区别
    递归限制
  • 原文地址:https://www.cnblogs.com/taoge188/p/8503742.html
Copyright © 2011-2022 走看看