第7篇:抽象基类(ABC)与接口设计
- 为什么需要抽象基类?
在大型系统中,我们经常需要定义一组接口,要求子类必须实现某些方法。抽象基类(Abstract Base Class, ABC)正是为此而生。它可以:
定义抽象方法(没有实现的方法),强制子类实现。
禁止实例化不完整的类。
提供部分通用实现。
- 定义抽象基类
Python通过abc模块支持抽象基类。
fromabcimportABC,abstractmethodclassShape(ABC):@abstractmethoddefarea定义抽象方法(没有实现的方法),强制子类实现。
禁止实例化不完整的类。
提供部分通用实现。
fromabcimportABC,abstractmethodclassShape(ABC):@abstractmethoddefarea