Курс 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. Работа с JSON в Python
  3. Многопоточность и асинхронное программирование в Python
  4. CLI-инструмент howdoi
  5. Оператор «or» в Python
  6. Оптимизация памяти с slots
  7. Ограничение ресурсов в Python
  8. Виртуальные среды в Python
  9. Функции в одну строку
  10. Конкатенация строковых литералов
  11. Особенности множеств в Python
  12. Установка и использование Python-dateutil
  13. Работа с модулем cmath
  14. Работа со случайными элементами
  15. Python UserString — создание подклассов строк
  16. Операторы сравнения в Python
  17. Настройка логгера Logzero
  18. Оболочка Python
  19. Сумма элементов списка
  20. Установка Git и AWS CLI
  21. Работа с набором данных CIFAR10 в PyTorch
  22. Вызов функций по строке в Python.
  23. Python Тесты и Гайды
  24. Flask: создание веб-приложений
  25. Настройка нарезки списков
  26. Получение комбинаций в Python
  27. Анонимные функции Lambda
  28. Генератор бросков кубиков
  29. Работа с файлами и директориями в Python.
  30. Измерение потребления памяти при сортировке
  31. Распаковка аргументов в Python
  32. Удаление дубликатов из списка
  33. Сортировка в Python
  34. Функция count() в Python
  35. Работа с массивами в Numpy
  36. Работа с индексами списков
  37. Хранение переменных в Python.
  38. Управление контекстом выполнения
  39. EMOT преобразование эмодзи в текст
  40. Генераторы списков в Python
  41. Отладка кода
  42. Импорт с альтернативным именем
  43. Поиск с библиотекой Google
  44. Метод __call__ в Python
  45. Освоение Python
  46. Поиск уникальных элементов строкой в Python
  47. discard() — удаление элемента из множества

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