У меня есть проект, в котором у меня есть базовый класс и несколько производных классов.На самом деле, чтобы убедиться, что я не забываю ничего, что я хочу реализовать, вместо того, чтобы проверять реализацию метода.Мне интересно, имеет ли это смысл, и есть ли потенциальные конфликты с наследованием.
class Base:
def __init_subclass__(cls, **kwargs):
super().__init_subclass__()
for prop in ['prop_to_check']: # extend this list for additional properties to check
if not hasattr(cls, prop):
raise NotImplementedError(f'{prop} is not implemented on {cls.__name__}')
class Derived(Base):
prop_to_check = 3
pass
class Derived2(Base):
pass
Derived()
Derived2()
Приветствия Фабиан