博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python多态和规范
阅读量:5303 次
发布时间:2019-06-14

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

python规范(接口类)

接口类可以规范代码,但接口类本身是不实现的

class Payment:      def pay(self,money):            raise Notlmplemented    class Wechat(Payment):    def pay(self, money):        print('已经用微信支付了%s元' % money)class Alipay(Payment):    def pay(self, money):        print('已经用支付宝支付了%s元' % money)class Applepay(Payment):    def fuqian(self, money):        print('已经用applepay支付了%s元' % money)def pay(pay_obj, money):  # 统一支付入口    pay_obj.pay(money)   wechat = Wechat()ali = Alipay()app = Applepay()pay(ali,200)pay(app,200)

 运行后如下

app = Applepay()TypeError: Can't instantiate abstract class Applepay with abstract methods pay

  

以下是接口类的另一种写法

from abc import abstractmethod, ABCMetaclass Payment(metaclass=ABCMeta):  # 元类 默认的元类 type    @abstractmethod    def pay(self, money): pass  # 没有实现这个方法

接口隔离原则

 

接口类在python中不存在,只是一种规范,python中自带多继承所以我们直接用class来实现接口类

抽象类

多态

多态指的是一类事物有多种形态

动物有多种形态:人,狗猪

import abcclass Animal(metaclass=abc.ABCMeta): #同一类事物:动物    @abc.abstractmethod    def talk(self):        passclass People(Animal): #动物的形态之一:人    def talk(self):        print('say hello')class Dog(Animal): #动物的形态之二:狗    def talk(self):        print('say wangwang')class Pig(Animal): #动物的形态之三:猪    def talk(self):        print('say aoao')

 鸭子类型

 

转载于:https://www.cnblogs.com/iswuyi/p/10783960.html

你可能感兴趣的文章
Learning to Rank入门小结 + 漫谈
查看>>
关于人工智能的期刊影响因子
查看>>
js千分位处理
查看>>
js常用的方法
查看>>
Mac---------三指拖移
查看>>
关于VMare中安装Ubuntu的一些说明
查看>>
七、K3 WISE 开发插件《工业单据老单插件中获取登陆用户名》
查看>>
字符串类型的相互转换
查看>>
图片编辑的利器(介绍韩国免费图片工具PhotoScape)
查看>>
Python基础第十一天:递归函数
查看>>
钉钉机器人
查看>>
博雅PHP高级工程师面试题-自拟
查看>>
SQL SERVER 查看表是否存在
查看>>
关于easyUI实现自定义网格视图
查看>>
JAVA小知识点-Finally和Return的执行关系
查看>>
基站转经纬度
查看>>
构建ASP.NET网站十大必备工具
查看>>
a*寻路分析
查看>>
Android Activity的任务栈和四大启动模式
查看>>
table左边固定-底部横向滚动条-demo
查看>>