Справочник · модуль 9 «Объекты и классы»

Переопределение

Метод в дочернем классе можно написать заново. Тогда он заменит родительский.

Сравнение из жизни

Как свой способ вместо семейного.

Пример

class Animal:
    def __init__(self, name):
        self.name = name

    def speak(self):
        print(self.name + " издаёт звук")

class Dog(Animal):
    def speak(self):
        print(self.name + " говорит: гав!")

class Cat(Animal):
    def speak(self):
        print(self.name + " говорит: мяу!")

for pet in [Dog("Шарик"), Cat("Бит"), Animal("Некто")]:
    pet.speak()
Результат
Шарик говорит: гав!
Бит говорит: мяу!
Некто издаёт звук

Учитель в уроке Ребёнок может заменить метод родителя. Это называют переопределением. Собака говорит «гав», кошка «мяу», а обычное животное издаёт звук. Цикл зовёт speak, и каждый отвечает по-своему.

Запомнить

Переопределение — когда ребёнок делает по-своему. Его метод главнее метода родителя.

Тема из урока 9.5 «Наследование» курса PythonAZ.

В этом же уроке