Мне любопытно, есть ли способ в Python принудительно (из класса Parent) для родительского метода, который должен быть вызван из дочернего класса, когда он переопределяется.
Пример:
class Parent(object):
def __init__(self):
self.someValue=1
def start(self):
''' Force method to be called'''
self.someValue+=1
Правильная реализация того, что я хотел, чтобы мой дочерний класс Child выполнял:
class ChildCorrect(Parent):
def start(self):
Parent.start(self)
self.someValue+=1
Однако существует ли способ заставить разработчиков, которые разрабатывают классы Child, специально вызвать (не просто переопределить) метод "start", определенный в классе Parent, если они забудут его называть:
class ChildIncorrect(Parent):
def start(self):
'''Parent method not called, but correctly overridden'''
self.someValue+=1
Кроме того, если это не считается лучшей практикой, что может быть альтернативой?