Logo

Developer learning path

Python

Наследование в Python

Наследование

9

#description

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

Наследование позволяет создавать классы, которые являются более специализированными версиями уже существующих классов. Например, можно создать класс "определенный тип человека", наследующий свойства и методы класса "человек".

Класс, от которого наследуются свойства и методы, называется базовым классом или суперклассом. Класс, который наследует свойства и методы, называется производным классом или подклассом.

Для создания подкласса необходимо указать имя суперкласса в качестве аргумента при объявлении класса:

                    
class SuperClass:
    def super_method(self):
        print("Super method")

class SubClass(SuperClass):
    def sub_method(self):
        print("Sub method")
                  

В этом примере класс SubClass наследует метод super_method() из класса SuperClass и добавляет свой метод sub_method().

Обращение к методам суперкласса происходит при помощи функции super().

Например, для вызова метода super метода из подкласса:

                    
class SubClass(SuperClass):
    def sub_method(self):
        super().super_method()
        print("Sub method")
                  

Также подкласс может переопределять методы суперкласса, внося свои изменения в методы наследования:

                    
class SuperClass:
    def super_method(self):
        print("Super method")

class SubClass(SuperClass):
    def super_method(self):
        print("Overridden super method")
                  

В этом примере метод super_method() переопределяется в классе SubClass. При вызове этого метода из экземпляра класса SubClass будет выполнена его версия, а не версия из суперкласса.

March 25, 2023

Если вам не совсем понятен какой-то абзац текста из лекции, просто нажмите на него и сможете задать уточняющие вопросы по нему.

Если же непонятен весь вопрос, то нажмите на кнопки внизу, чтобы получить новый вариант объяснения, практические примеры или критически оценить сам вопрос.