是否可以在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()
我想一种方法来确保子类覆盖正确的方法,该方法比仅注释或命名约定更强大。我无法通过谷歌搜索找到它,也许它不存在。