很多时候多个类都可以抽象到一个父类之中,比如people、pig、dog都可以抽象一个父类animal
class Animal():
def run(self):
pass
def eat(self):
pass
每次子类通过对父类run和eat的重写,实现代码的命名的统一。类似于Java的interface
为了命名的规范,我们需要加入一个模块“abc
import abc
”
class Animal(metaclass=abc.ABCMeta):
@abc.abstractclassmethod
def run(self):
pass
@abc.abstractclassmethod
def eat(self):
pass
- 子类必须有父类的方法
- 子类必须是父类的名字
- 父类不允许实例化对象
- 子类可以有父类定义的函数以外的功能