Курс 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. Операции с массивами в NumPy
  2. Работа с collections.Counter
  3. Оператор * в Python
  4. Создание и использование ChainMap
  5. Удаление знаков препинания в Python
  6. Декораторы в Python
  7. Оператор «and» в Python
  8. Создание .exe файла с pyinstaller
  9. Метод difference_update() — разность множеств
  10. Создание копии итератора
  11. Группировка элементов в словарь
  12. Python Тесты и Гайды
  13. Установка Git и AWS CLI
  14. Извлечение новостей с newspaper3k
  15. Преобразование кортежа в словарь.
  16. Оператор морж в Python 3.8
  17. Импорт модуля из другого каталога
  18. Регистрация на TenChat
  19. HTTP-запросы с библиотекой Requests
  20. Игра «Камень, ножницы, бумага» — Python
  21. Удаление элементов во время итерации
  22. Создание списка дат
  23. Solidity для DeFi Ethereum
  24. Сортировка с параметром key
  25. Компиляция регулярных выражений
  26. Генерация чисел с range()
  27. Генерация QR-кодов с Python
  28. Импорт объектов из модулей
  29. Логирование с Logzero
  30. Python Enum Weekday Usage
  31. Создание словарей в Python
  32. Dict Comprehension в Python
  33. Нан-рефлексивность в Python
  34. Python enumerate() функции
  35. f-строки в формате строк
  36. Декораторы классов
  37. Python Метод Union Множеств
  38. Сортировка и обратный порядок
  39. Проверка вхождения подстроки
  40. Инверсия списка и строки
  41. Комментарии в Python.
  42. Оператор is в Python
  43. Изменение IP-адреса в Python
  44. Метод count() для списка
  45. Pretty-printing JSON в Python
  46. Замыкания в Python

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