def action(self, product: TBaseProduct, *args, **kwargs) -> None:
...
class Child(Parent):
def action(self, product: TBaseProduct, something, else) -> None
...
Почему ругается ide?
Signature of method 'Child.action()' does not match signature of base method in class 'Parent' Понимаю, что не совпадает, как сделать правильно?
Сделать чтобы совпадала
class Parent(ABC): @abstractmethod def action(self, *args, **kwargs) -> None: ... class Child(Parent): def action(self, product: TBaseProduct, something, else) -> None ... Вот так не ругается. Никак по другому так не сделать? чтобы первым аргом обязательно должен идти продукт, а детях уже переопределять что в аргах и кваргах? Проверять кварги по ключу в начале функции не хотелось бы)))))
Сигнатура в детях должна быть полностью совместима с родительской. Узнай про принцип подстановки Барбары Лисков
Обсуждают сегодня