07 Июл 2023
2 мин
398

Как вызвать метод родительского класса из дочернего класса в Python

Создание иерархий объектов — это общепринятая практика в объектно-ориентированном программировании, которая позволяет упростить и упорядочить

Содержание

Создание иерархий объектов — это общепринятая практика в объектно-ориентированном программировании, которая позволяет упростить и упорядочить код. Однако, иногда возникают ситуации, когда в дочернем классе требуется вызвать метод родительского класса. Применение этого подхода может быть полезным, когда нужно дополнить или переопределить функциональность, предоставляемую родительским классом.

В качестве примера возьмем следующий код:

class ParentClass:
    def method(self):
        print("This is a method from ParentClass")

class ChildClass(ParentClass):
    def method(self):
        print("This is a method from ChildClass")

Если мы создадим объект класса ChildClass и вызовем метод method(), то получим сообщение «This is a method from ChildClass». Но что если нам нужно вызвать method() из ParentClass?

В Python есть специальное ключевое слово super(), которое позволяет обращаться к родительскому классу. Чтобы вызвать метод родительского класса из дочернего, нужно использовать конструкцию super().method(). В нашем примере это будет выглядеть следующим образом:

class ChildClass(ParentClass):
    def method(self):
        super().method()
        print("This is a method from ChildClass")

Теперь, при вызове method() для объекта класса ChildClass, сначала будет вызван метод method() из ParentClass, а затем — из ChildClass.

Использование super() позволяет улучшить гибкость и масштабируемость кода. В частности, оно упрощает создание иерархий классов, так как дочерний класс не нужно изменять при изменении родительского.

Содержание

Добавить комментарий

Определи профессию по рисунку