等价于Python ABC中Java的“最终版本”

时间:2019-11-01 13:31:20

标签: python pycharm abc

是否可以在python中使用ABC来声明一个final方法,就意味着如果一个子类试图覆盖它,则会出现某种错误?真正令我感兴趣的是,如果我或其他人尝试覆盖错误的方法,PyCharm会升旗。

我有一个要编写这样的类:

class Blah(ABC):

  @abstractmethod
  def method_that_subclasses_implement(self):
    pass

  @finalmethod
  def method_that_will_be_called_externally(self):
    self.do_something_before()
    self.method_that_subclasses_implement()
    self.do_something_after()

我想一种方法来确保子类覆盖正确的方法,该方法比仅注释或命名约定更强大。我无法通过谷歌搜索找到它,也许它不存在。

0 个答案:

没有答案