Курс Python → Переопределение метода

Переопределение в Python — это механизм, который позволяет изменить поведение метода в дочернем классе, переопределяя его в базовом классе. Это позволяет классам наследовать методы и свойства от других классов, но при необходимости изменить их поведение. Например, если у нас есть базовый класс Animal с методом make_sound(), который возвращает просто «Издает звук», мы можем создать дочерний класс Cat, где переопределим метод make_sound() так, чтобы он возвращал «Мяу», а также дочерний класс Dog, где метод make_sound() вернет «Гав».

Для переопределения метода в Python достаточно объявить метод с тем же именем в дочернем классе, что и в базовом классе. Таким образом, при вызове метода make_sound() для объектов класса Cat будет использоваться переопределенная версия метода из класса Cat, а для объектов класса Dog — из класса Dog. Это позволяет добиться более точного и специфичного поведения методов в зависимости от конкретного класса.


class Animal:
    def make_sound(self):
        return "Издает звук"

class Cat(Animal):
    def make_sound(self):
        return "Мяу"

class Dog(Animal):
    def make_sound(self):
        return "Гав"

cat = Cat()
dog = Dog()

print(cat.make_sound())  # Вывод: Мяу
print(dog.make_sound())  # Вывод: Гав

В данном примере мы создали базовый класс Animal с методом make_sound(), который возвращает просто «Издает звук». Затем мы создали два дочерних класса Cat и Dog, где переопределили метод make_sound() для каждого класса, чтобы он возвращал соответствующий звук для каждого животного. При создании объектов cat и dog и вызове метода make_sound() для каждого из них, мы получаем ожидаемые результаты — «Мяу» для объекта cat и «Гав» для объекта dog.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Встроенные функции Python
  2. Использование обратной косой черты в f-строках
  3. Создание GUI на Tkinter
  4. Перевернуть список в Python
  5. Форматирование данных с помощью pprint
  6. Обработка исключения UnboundLocalError
  7. Оператор «not» в Python
  8. Избегание изменяемых аргументов
  9. Обновление данных через PUT запрос
  10. Оформление кода на Python
  11. Создание копии списка в Python
  12. Нахождение пересечения множеств
  13. Конвертация коллекций в Python
  14. Принципы программирования
  15. Генераторы списков в Python
  16. Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
  17. Декораторы в Python
  18. Функция с *args.
  19. Работа с zip()
  20. Генераторы в Python
  21. Метод ipow для возведения в степень
  22. Оператор распаковки в Python
  23. Проверка условий: all и any
  24. Установка Git и AWS CLI
  25. Удаление дубликатов из списка
  26. Python Метод sleep() времени
  27. Ошибка NotImplemented в Python
  28. Удаление элемента из списка в Python
  29. Вычисление фазы комплексного числа
  30. Преобразование строк в числа в Python
  31. Monkey Patching в Python
  32. Метод __getitem__ в Python
  33. Оператор (*) в Python
  34. Работа с файлами в Python
  35. Деление в Python
  36. Получение текущей даты в Python
  37. Модуль future Python
  38. Библиотека sh: использование команд bash в Python
  39. Поиск всех индексов подстроки
  40. Справка по импортированным модулям
  41. Добавление элемента в список.
  42. Руководство по Pymorphy2
  43. Подписка на Kaspersky Team
  44. Фильтрация данных в Python.
  45. Генераторы списков

Marketello читают маркетологи из крутых компаний