zoukankan      html  css  js  c++  java
  • 代理模式

    from abc import ABCMeta, abstractmethod
    
    class Card:
        def __init__(self):
            print('proxy interface')
    
        @abstractmethod
        def consume(self, account):
            pass
    
        @abstractmethod
        def getAccount(self):
            pass
    
        # @abstractmethod
        def transferAccount(self):
            raise NotImplementedError
    
    
    class ATMProxy(Card):
        def __init__(self):
            self.bank = MingShengBank()
    
        def consume(self, account):
            self.account = self.getAccount
    
            if self.account < account:
                return('account is not enough')
            else:
                self.bank.consume(account)
                return(self.getAccount)
    
        @property
        def getAccount(self):
            return self.bank.getAccount()
    
    
    class MingShengBank(Card):
        account =10
    
        def consume(self, account):
            self.account = self.account - account
            print('consume')
    
        def getAccount(self):
            return self.account
    
    if __name__=='__main__':
        p = ATMProxy()
        print(p.getAccount)
        print(p.consume(2))
        print(p.consume(3))

  • 相关阅读:
    oracle学习13
    oracle学习12
    oracle学习11
    oracle学习10
    CodeForces
    CodeForces
    UVA
    poj3320 Jessica's Reading Problem
    poj2456 Aggressive cows
    jQuery 鼠标滚轮插件 mousewheel
  • 原文地址:https://www.cnblogs.com/agang-php/p/9889864.html
Copyright © 2011-2022 走看看