Нужно ли использовать конструктор в методе переопределения в Python? - PullRequest
0 голосов
/ 03 ноября 2019

У меня есть класс A, и в нем есть 2 метода X и Y, а затем я создаю другой класс B, который наследует класс A

Теперь я хочупереопределить функцию Y но я запутался, нужно ли снова вызывать конструктор в классе B или я могу напрямую переопределить метод

1 Ответ

1 голос
/ 03 ноября 2019

Вы можете переопределить метод.

По какой-то причине, если вам также необходимо вызвать метод суперкласса, вы можете использовать super:

class B(A):
    def Y(self):
        from_A = super().Y()  # this calls `A.Y()`
        # Do stuffs

Пока мы находимся вэто, если вы переопределяете инициализатор (__init__), применяется то же правило - у вас может быть B, имеющий собственный набор правил, и если вы хотите также использовать A __init__, используйте super как я показал. Это же правило применяется и к другим методам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...