Курс 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. Удаление символа из строки
  2. Операции со строками в Python
  3. Сортировка слиянием
  4. Создание класса очереди
  5. Многострочные комментарии в Python
  6. Работа с кортежами
  7. Функция с **kwargs в Python
  8. Ограничение ресурсов в Python
  9. Оформление кода на Python
  10. Функции в одну строку
  11. Декодирование строк в Python
  12. Преобразование чисел в слова
  13. Установка random seed в Python
  14. Удаление дубликатов из списка
  15. Распаковка значений в Python
  16. Подчеркивание в REPL
  17. Обработка исключений
  18. Функция zip() для объединения списков
  19. Форматирование данных с помощью pprint
  20. Передача неизвестных аргументов в Python.
  21. Обновление множества в Python
  22. Генераторы в Python
  23. Отношения подклассов в Python
  24. CLI-инструмент howdoi
  25. Проверка класса объекта
  26. Defaultdict в Python
  27. Объединение словарей в Python
  28. Сортировка с помощью key
  29. Функции any() и all() в Python
  30. Однострочники Python
  31. Модуль math: константы π и e
  32. ROT13 Шифр Цезаря в Python
  33. Декоратор Ajax required
  34. Модуль array: создание и использование массивов
  35. GitHub в Telegram: подписка на уведомления
  36. Работа с deque в Python
  37. Метод classmethod
  38. Создание словарей с defaultdict
  39. Создание таблиц в Python с PrettyTable
  40. Удаление URL-адресов в Python
  41. Присвоение и ссылки
  42. Оптимизация памяти в Python
  43. Выключение компьютера с помощью Python

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