码迷,mamicode.com
首页 > 编程语言 > 详细

python编程设计模式之接口类和抽象类

时间:2018-01-22 01:19:15      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:实现   抽象类   设计   post   python编程   sha   bsp   elf   eth   

  接口类

"""
    接口类  是一种编程设计模式,在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))  # 110
print(discipline.cure(20))   # 120

 

  抽象类

"""
    抽象类  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))  # 110
print(discipline.cure(20))  # 120

 

python编程设计模式之接口类和抽象类

标签:实现   抽象类   设计   post   python编程   sha   bsp   elf   eth   

原文地址:https://www.cnblogs.com/zxc-Weblog/p/8326121.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!