接口类
""" 接口类 是一种编程设计模式,在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