【问题标题】:Mandatory overriding of fields/methods?强制覆盖字段/方法?
【发布时间】:2013-02-05 09:41:38
【问题描述】:

如何在 Python 父类中指定某些字段/方法需要在子类中覆盖?

【问题讨论】:

标签: python


【解决方案1】:

你可以提出NotImplementedError

def my_method(self, arg):
    raise NotImplementedError('Implement me')

对于属性,您可以使用@property 装饰器:

@property
def my_property(self):
    raise NotImplementedError('Implement me as well')

【讨论】:

  • 是的,应该处理一个方法,但是字段呢?
【解决方案2】:

您可以查看abstract base class 模块。

但是,一个更简单的替代方法是定义一个不执行任何操作或引发 NotImplementedError 的存根实现。

【讨论】:

    猜你喜欢
    • 2011-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-18
    • 1970-01-01
    • 2012-01-11
    • 2018-03-18
    • 2011-11-14
    相关资源
    最近更新 更多