抽象类指一个类不能被实例化,只能实例化该类的子类,在继承抽象类时,必须复习父类所有的抽象方法。
示例:
1、Person是一个抽象类,Hero是一个正常的类。
2、Man继承Person类和Hero类,必须复写Person类中的所有抽象方法。
import abc
class Person(metaclass=abc.ABCMeta):
@abc.abstractmethod
def eat(self):
pass
@abc.abstractmethod
def sleep(self):
pass
def breath(self):
print("breath")
class Hero():
def kungfu(self):
print("功夫")
class Man(Person,Hero):
# 抽象类必须复写所有的抽象方法,不管有没有调用
# 只要有一个没有复写就会在实例化对象时报错
def eat(self):
print('人吃饭')
def sleep(self):
print("人睡觉")