很多時候多個類都可以抽象到一個父類之中,比如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
- 子類必須有父類的方法
- 子類必須是父類的名字
- 父類不允許實例化對象
- 子類可以有父類定義的函數以外的功能