Вернуть переопределенный метод? В общем возникла такая ситуация.
В одном из классов (а точнее в модели) какой-то прекрасный человек переопределил стандартный метод и теперь он не работает. Другими словами мне нужно унаследовать классом 3 - всё из класса 2, а нужный метод из класса 1. Как это сделать?
Как я понимаю это по идее делается с помощью super...

21 Авг 2019 в 07:02
208 +1
0
Ответы
1

Да, правильно понимаете, для доступа к переопределенному методу из родительского класса можно использовать ключевое слово super. В вашем случае, вы можете вызвать переопределенный метод из класса 1 в классе 3 следующим образом:

class Class1:
def method(self):
# Ваш переопределенный метод
class Class2(Class1):
def method(self):
super().method() # Вызываем переопределенный метод из класса 1
class Class3(Class2):
pass
obj = Class3()
obj.method() # Вызов переопределенного метода из класса 1

Таким образом, при вызове метода method() у объекта класса 3, будет выполнен код из переопределенного метода класса 1.

20 Апр 2024 в 13:09
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир