博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面向对象约束常规写法
阅读量:7099 次
发布时间:2019-06-28

本文共 1463 字,大约阅读时间需要 4 分钟。

# 普通的类# 抽象类 是一个开发的规范 约束它的所有子类必须实现一些和它同名的方法# 支付程序    # 微信支付 url连接,告诉你参数什么格式        # {'username':'用户名','money':200}    # 支付宝支付 url连接,告诉你参数什么格式        # {'uname':'用户名','price':200}    # 苹果支付class Payment:     # 抽象类    def pay(self,money):        '''只要你见到了项目中有这种类,你要知道你的子类中必须实现和pay同名的方法'''        raise NotImplementedError('请在子类中重写同名pay方法') # 主动抛出异常,主要是给程序员看class Alipay(Payment):    def __init__(self,name):        self.name = name    def pay(self,money):        dic = {'uname':self.name,'price':money}        # 想办法调用支付宝支付 url连接 把dic传过去        print('%s通过支付宝支付%s钱成功'%(self.name,money))class WeChat(Payment):    def __init__(self,name):        self.name = name    def pay(self,money):        dic = {'username':self.name,'money':money}        # 想办法调用微信支付 url连接 把dic传过去        print('%s通过微信支付%s钱成功'%(self.name,money))class Apple(Payment):    def __init__(self,name):        self.name = name    def pay(self,money):        dic = {'name': self.name, 'number': money}        # 想办法调用苹果支付 url连接 把dic传过去        print('%s通过苹果支付%s钱成功' % (self.name, money))aw = WeChat('alex')aw.pay(400)aa = Alipay('alex')aa.pay(400)# 归一化设计def pay(name,price,kind):    if kind == 'Wechat':        obj = WeChat(name)    elif kind == 'Alipay':        obj = Alipay(name)    elif kind == 'Apple':        obj = Apple(name)    obj.pay(price)pay('alex',400,'Wechat')pay('alex',400,'Alipay')pay('alex',400,'Apple')appa = Apple('alex')appa.pay(500)

  

转载于:https://www.cnblogs.com/biu-py/p/10972056.html

你可能感兴趣的文章
【Linux】查看所使用的Linux系统是32位还是64 位的方法
查看>>
NSJSONSerialization 反序列化失败 NSCocoaErrorDomain Code=3840
查看>>
chrome 谷歌浏览器插件损坏
查看>>
前端知识十分钟预览之学习札记
查看>>
ArcGIS API for Silverlight 当DataGrid选中项时,地图聚焦弹出窗口,并可以播放音频文件...
查看>>
JavaWeb学习总结(十三)——使用Session防止表单重复提交
查看>>
C# Qrcode生成二维码支持中文,带图片,带文字 2015-01-22 15:11 617人阅读 评论(1...
查看>>
BWA MEM算法
查看>>
jni
查看>>
openstack neutron中涉及的网络设备
查看>>
LoadRunner
查看>>
多线程与异步的区别
查看>>
cocos2d-X JS 获取cocostudio中的UI组件
查看>>
Jmeter 2.3.4 报表参数意义
查看>>
Linux命令vi/vim
查看>>
短信API在最土团购开源程序中的运用
查看>>
快速排序
查看>>
Opencv cvCircle函数
查看>>
Spring源码解析——如何阅读源码
查看>>
Java集合之TreeMap源码分析
查看>>