python接口类,抽象类
# 支付方式不够统一 class QQpay: def pay(self, money): print('QQ支付了%s钱' % money) class Alipay: def pay(self, money): print('支付宝支付了%s钱' % money) a1 = QQpay() a1.pay(100) b1 = Alipay() b1.pay(200)
# 统一支付方式:归一化设计 class QQpay: def pay(self, money): print('QQ支付了%s钱' % money) class Alipay: def pay(self, money): print('支付宝支付了%s钱' % money) def pay(obj, money): # 归一化设计 obj.pay(money) a1 = QQpay() b1 = Alipay() pay(a1, 100) pay(b1, 200)
# 狗哥,调离了部门,此时来了一个野生程序员。 class QQpay: def pay(self, money): print('QQ支付了%s钱' % money) class Alipay: def pay(self, money): print('支付宝支付了%s钱' % money) class Wechat: def fuqian(self,money): print('微信支付了%s钱' % money) def pay(obj, money): # 归一化设计 obj.pay(money) a1 = QQpay() b1 = Alipay() pay(a1, 100) pay(b1, 200) c1 = Wechat() c1.fuqian(300)
# 接口类:就是制定一个规则,让其他人按照我的规则去写程序。 约定俗称规范,但是这个有人还不按照这个执行。
class payment: def pay(self,money): pass class QQpay(payment): def pay(self, money): print('QQ支付了%s钱' % money) class Alipay(payment): def pay(self, money): print('支付宝支付了%s钱' % money) class Wechat(payment): def fuqian(self, money): print('微信支付了%s钱' % money) def pay(obj, money): # 归一化设计 obj.pay(money)
# 强制指定规范: from abc import ABCMeta, abstractmethod class payment(metaclass=ABCMeta): @abstractmethod def pay(self,money): pass class QQpay(payment): def pay(self, money): print('QQ支付了%s钱' % money) class Alipay(payment): def pay(self, money): print('支付宝支付了%s钱' % money) class Wechat(payment): def fuqian(self, money): print('微信支付了%s钱' % money) def pay(obj, money): # 归一化设计 obj.pay(money) w = Wechat()
总结:
接口类其实就是遵循我的一些代码规范而做的
作者:wangkaiok —— 小菜鸟111
出处:http://www.cnblogs.com/wangkaiok/
本文版权归作者和博客园共有,但未经作者同意禁止转载,转载必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。