接口类

"""
接口类 是一种编程设计模式,在python原本没有接口类 借用Java思想创建的一种规范设计模式
支持多继承,进行多方面规范
"""

  例子:

from abc import abstractmethod, ABCMeta

class Clergy(metaclass=ABCMeta):  # 规范子类都要有cure方法
@abstractmethod # 装饰要规范的方法
def cure(self, HP): # 规范方法必须要pass,不能实现
pass class Holy(Clergy):
def cure(self, HP):
HP += 100
return HP class Discipline(Clergy):
def cure(self, HP):
HP += 100
return HP class Shadow(Clergy):
def zhiliao(self, HP):
HP += 100
return HP # 创建牧师的三种分支
holy = Holy()
discipline = Discipline()
# shadow = Shadow() # Shadow类没有规定方法cure,不能实例化,实例化就会报错提醒
# 都有治疗的技能
print(holy.cure(10)) #
print(discipline.cure(20)) #

  抽象类

"""
抽象类 python支持抽象类,一般规范单继承
"""

  例子

import abc

class Clergy(metaclass=abc.ABCMeta):  # 规范子类都要有cure方法
@abc.abstractmethod
def cure(self, HP): # 规范方法可以有一定代码功能
HP += 100
return HP class Holy(Clergy):
def cure(self, HP):
HP += 100
return HP class Discipline(Clergy):
def cure(self, HP):
HP += 100
return HP class Shadow(Clergy):
def zhiliao(self, HP):
HP += 100
return HP # 创建牧师的三种分支
holy = Holy()
discipline = Discipline()
# shadow = Shadow() # Shadow类没有规定方法cure,不能实例化,实例化就会报错提醒
# 都有治疗的技能
print(holy.cure(10)) #
print(discipline.cure(20)) #

python编程设计模式之接口类和抽象类的更多相关文章

  1. python学习之老男孩python全栈第九期_day025知识点总结——接口类、抽象类、多态、封装

    一. 接口类 java:面向对象编程 设计模式 -- 接口类 接口类:python原生不支持 抽象类:python 原生支持的 from abc import abstractclassmethod, ...

  2. Python面向对象之接口类(抽象类)

    Python面向对象之接口类(抽象类):就是制定一个规范. 比如定义了一个接口类(抽象类)(他们是不可以进行实例化的,这就是他为什么是制定一个规范的原因). 他的定义是需要abc模块,要变的就是他的方 ...

  3. Python学习日记(二十五) 接口类、抽象类、多态

    接口类 继承有两种用途:继承基类的方法,并且做出自己的改变或扩展(代码重用)和声明某个子类兼容于某基类,定义一个接口类interface,接口类中定义了一些接口名(就是函数名)且并未实现接口的功能,子 ...

  4. Python——接口类、抽象类

    建立一个接口类.抽象类的规范 from abc import abstractmethod,ABCMeta class Payment(metaclass=ABCMeta): # 元类 默认的元类 t ...

  5. day25:接口类和抽象类

    1,接口类和抽象类知识背景:一开始在程序界是没有这些概念的,后来就流行了一种语言叫做JAVA,JAVA是一种典型的纯面向对象的语言,JAVA写的程序都是非常适用于更庞大的项目,很多程序员就总结出了一些 ...

  6. day 25-1 接口类、抽象类、多态

    # 接口类:python 原生不支持# 抽象类:python 原生支持的 接口类 首先我们来看一个支付接口的简单例子 from abc import abstractmethod,ABCMeta #我 ...

  7. python 使用abc实现接口类/虚类(2.2)

    python 使用abc实现接口类/虚类 具体类 class BaseA: def run(self): print('base A running') class ChildA(BaseA): de ...

  8. [ python ] 接口类和抽象类

    接口类 继承有两种用途:1. 继承基类的方法,并且做出自己的改变或者扩展(代码重用)2. 申明某个子类兼容于某基类,定义一个接口类interface,接口类定义了一些接口名且未实现接口的功能,子类继承 ...

  9. Python 接口类或抽象类 反射

    # 抽象类或者接口类,制定规范,统一方法名 # # 抽象类或者接口类,制定规范,统一方法名 from abc import ABCMeta,abstractmethod class Payrole(m ...

随机推荐

  1. JS的八大数据类型

    js中的数据类型,包括基本数据类型(Number,String,Boolean, Undefined,Null)和   复杂(引用)数据类型(Object,Array,Function) 基本数据类型 ...

  2. jQuuery Mobile 移动端开发框架

    jQuery Mobile 是创建移动 web 应用程序的框架. jQuery Mobile 适用于所有流行的智能手机和平板电脑. jQuery Mobile 使用 HTML5 和 CSS3 通过尽可 ...

  3. mysql自定义function 写递归查询子节点

    #存储文本信息表 CREATE TABLE WordInfoEntity( word_id ) PRIMARY KEY NOT NULL, # 主键ID UUID word_greda :正文文本 , ...

  4. django其他

    聚合查询 聚合函数必须在分组之后使用 没有分组默认整体为一组 聚合函数 Max, Min, Sum, Avg, Count 从django.db.models 导入方法,然后使用关键字aggregat ...

  5. 每天一个linux命令(1): which命令

    0.学习时间: 2014-05-15 which命令用来在PATH指定的路径中查找特定的文件, 并返回第一个找到的结果. 1. 命令格式:  which 文件名 2.命令功能 一般使用which命令来 ...

  6. Request.Cookies和Response.Cookies

    Request.Cookies创建的Cookie只能用于后台不能用于HTML的前台Response.Cookies操作过的Cookie,所有方法获取到的都是被更新过的值,也就是说Response.Co ...

  7. Spring_MVC

    SpringMVC处理流程 分析: M-Model 模型(完成业务逻辑:有javaBean构成,service+dao+entity) V-View 视图(做界面的展示  jsp,html……) C- ...

  8. Python小技巧整理

    一.python小工具: 1.内置下载和网站: 进入相应目录:2.x python -m SimpleHTTPServer 3.x python -m http.server 2.字符串转换为JSON ...

  9. hdu1403 后缀数组

    比较简单的应用. #include <stdio.h> #include <string.h> #define maxn 200002 int wa[maxn],wb[maxn ...

  10. Libevent:6辅助函数以及类型

    在头文件<event2/util.h>中定义了许多有用的函数和类型来帮助实现可移植的程序.Libevent在内部使用这些类型和函数. 一:基本类型 evutil_socket_t 除了Wi ...