Наследование в Python для новичков

Наследование позволяет создать новый класс на основе существующего, не переписывая код.

Класс на основе класса

При наследовании класс-потомок перенимает атрибуты и методы класса-родителя и добавляет своё. Так общий код пишут один раз в родителе, а потомки его переиспользуют.

class Дрон:
    def летёть(self):
        print("лечу")

class ГрузовойДрон(Дрон):
    def везти(self):
        print("везу груз")

Зачем это нужно

Наследование убирает дублирование: если у обычного и грузового дрона одинаковое движение, его описывают в общем родителе. Потомок получает это бесплатно и добавляет только особенное.

Переопределение метода

Потомок может переопределить метод родителя — описать его заново под себя. Тогда у объекта-потомка вызовется его собственная версия. Это делает поведение гибким без переписывания всей иерархии.

Частые вопросы

Сколько родителей может быть? Обычно один, но Python допускает и несколько.

Что если метод есть и у родителя, и у потомка? Вызовется версия потомка — она переопределяет родительскую.

Начать игру бесплатно