Курс 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. Работа с NumPy
  4. Списковые включения в Python
  5. Генераторные выражения и islice.
  6. Получение текущей даты и времени с помощью datetime
  7. Проверка типа объекта в Python
  8. Проверка типов с использованием isinstance
  9. Метод join() для объединения элементов строки
  10. Работа с базами данных SQLite
  11. Конвертация текстовых чисел с помощью Numerizer
  12. Аннотации типов в Python
  13. Установка User-Agent в Python
  14. Оптимизация памяти с __slots__
  15. Операции с кортежами
  16. Импортирование в Python
  17. Отладка в командной строке
  18. Тип данных TypeVarTuple
  19. Курс Data Scientist в медицине
  20. Область видимости переменных
  21. Замена подстроки
  22. Объединение объектов в Python
  23. Библиотека schedule: планировщик задач
  24. Преобразование чисел в восьмеричную строку
  25. Python defaultdict добавление ключа
  26. Создание пар из последовательностей
  27. Оператор умножения для вектора
  28. Условные выражения в Python
  29. Комплексные числа в Python
  30. Синхронизация доступа к ресурсам
  31. Lambda Functions in Python
  32. Работа с SQLite в Python
  33. Удаление falsy-значений из списка с помощью filter
  34. Создание GUI на Tkinter
  35. Генерация случайных чисел Python
  36. Retrying в Python: повторные вызовы
  37. Сравнение строк в Python
  38. Создание таблиц в терминале с PrettyTable
  39. Класс Counter() для подсчета элементов
  40. Создание новых списков в Python
  41. Создание словарей и множеств в Python
  42. Удаление элементов по срезу
  43. Оператор break в Python
  44. Работа с часовыми поясами в Python
  45. Просмотр атрибутов и методов класса
  46. Список методов и атрибутов
  47. Работа с срезами в Python
  48. Настройка Cron
  49. List Comprehension Tutorial

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