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

  接口类

"""
    接口类  是一种编程设计模式,在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
原文地址:https://www.cnblogs.com/zxc-Weblog/p/8326121.html