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, ABCMeta

class Payment(metaclass=ABCMeta): # 元类 默认的元类 type

@abstractmethod

def pay(self, money): pass # 没有实现这个方法

接口隔离原则

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

抽象类

多态

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

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

import abc

class Animal(metaclass=abc.ABCMeta): #同一类事物:动物

@abc.abstractmethod

def talk(self):

pass

class 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')

鸭子类型

python多态_python多态和规范相关推荐

  1. python多态_Python 多态与抽象类

    一.多态 1.1 什么是多态 多态也称"多态性",指的是同一种类型的事物,不同的形态. 在python中的多态指的是让多种类若具备类似的数据属性与方法属性,都统一好命名规范,这样可 ...

  2. python多态_python 多态

    第一类多态: from cat import Cat from mouse import Mouse from person import Person ''' 多态:一种事物的多种形态 最终目标:人 ...

  3. python多态_Python多态

    面向对象三大特性 封装 根据 职责 将 属性 和 方法 封装 到一个抽象的 类 中 定义类的准则 继承 实现代码的重用,相同的代码不需要重复的编写 设计类的技巧 子类针对自己特有的需求,编写特定的代码 ...

  4. python 多态_Python中的多态

    面向对象的语言有四个特性,抽象.封装.继承和多态.在之前的文章中,给小伙伴们已经讲解了前三个.为什么要把多态放在最后一个讲呢?因为前面的三个特性是多态的基础,了解了前三个,了解多态就很容易啦~ 那么, ...

  5. 浅谈python使用多态跟不用多态的区别_python 多态和 super 用法

    python 中的多态实现非常简单,只要是在子类中实现和父类同名的方法,便能实现多态,如果想在子类中调用父类的方法,有多种方法,但是当涉及菱形继承等问题是,super 就成为了比较好的解决方案. 普通 ...

  6. python中的多态用法_Python面向对象之多态原理与用法案例分析

    本文实例讲述了Python面向对象之多态原理与用法.分享给大家供大家参考,具体如下: 目标 多态 面向对象三大特性 封装 根据 职责 将 属性 和 方法 封装 到一个抽象的 类 中 定义类的准则 继承 ...

  7. python继承和多态心得_python学习第十五天 -面向对象之继承和多态

    大家都知道面向对象的三大特性:封装,继承,多态.封装特性在上一章节已经讲解过.这一章节主要讲解继承和多态. 继承:当定义一个类的时候,可以从现有的类进行继承.那么新定义的类可以称为子类,被继承的现有的 ...

  8. python封装继承多态_Python:封装、继承、多态、私有成员

    Python作为一种面向对象语言,也有着面向对象的三种特性:封装.继承.多态. 封装: 将事物相关的属性和方法封装在某一个类里面,使得在调用类创建实例时,可以不用关心类内部的实现细节. 类的本质: 1 ...

  9. python中的多态是什么_Python中的多态

    python中的多态是什么 Polymorphism is a concept of Object Oriented Programming, which means multiple forms o ...

最新文章

  1. mysql快速迁移数据sql_使用Navicat Premium工具快速迁移数据方法 适用于mysql及mssql数据库...
  2. Hdu-6242 2017CCPC-哈尔滨站 M.Geometry Problem 计算几何 随机
  3. 文科生能学懂python吗_文科生也能学得懂的Python入门视频
  4. 二叉排序树的删除操作
  5. 一起学习C语言:初谈指针(三)
  6. fckeditor组件使用---fckeditor调用的三种方法1
  7. 一步一坑学android之安装andriod studio(andriod studio3.0)
  8. Elasticsearch6.3.0安装IK分词插件
  9. vtiger 安装中文语言包(汉化的步骤)--拓展繁体中文
  10. HTML实现win10桌面,利用js实现仿win10桌面弹出窗口提示代码
  11. JAVA:18位身份证号码验证工具类(识别性别和生日、计算年龄)
  12. java计算机毕业设计社区养老综合服务平台服务端源码+系统+数据库+lw文档+mybatis+运行部署
  13. 计算机应用基础是科技,《最新计算机应用基础》科学技术指南丛书.pdf
  14. 记录一个问题:RJ45灯,绿灯与黄灯同时闪烁,连接出问题
  15. lua对接bmob数据库
  16. 如何一次打开多个Word文档
  17. 活字印刷引入简单工厂模式
  18. 全方位解读Web3域名:DID基石、NFT新增长点
  19. Silverlight框架
  20. ubuntu使用sudo su进入root报错Cannot execute /bin/csh: No such file or directory解决方法

热门文章

  1. 云虚拟主机bch 和 云服务器bcc,云虚拟主机bch 和 云服务器bcc
  2. 脑控技术原理及受害者自救
  3. thinkphp5-php think常用命令
  4. Python提取pcap文件中原始数据
  5. python打气球小游戏(一)
  6. (18)UVM sequencer和sequence
  7. 小学四年级计算机制作月历教案,冀教版信息技术四上第1课《制作月历》教案1.doc...
  8. TencentOS学习笔记(1)
  9. 该网页无法正常运作 HTTP ERROR 500
  10. 二叉树的简介、特点及二叉树存储结构’