Курс 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. Работа с YAML в Python: PyYAML.
  2. Управление IP-адресами через прокси
  3. Атрибуты объекта в Python
  4. Удаление элементов по срезу
  5. Генерация случайных чисел в Python
  6. Метод __ilshift__ для битового сдвига влево
  7. Методы shutil для работы с файлами
  8. Python: Фильтрация списков с помощью filter()
  9. Работа с collections.Counter
  10. Создание виртуальной среды
  11. Освобождение памяти в Python
  12. Возвращение нескольких значений через кортеж или класс
  13. Переворот списка в Python
  14. Операции с комплексными числами
  15. Python Calendar Usage
  16. Работа с датами в Python
  17. Установка пакета в Python
  18. JSON-esque в Python
  19. Docstring в Python
  20. Генераторные функции в Python
  21. Импорт и использование модулей в Python
  22. Списковый компрехеншен.
  23. Функция enumerate() в Python
  24. Замена символов в строке
  25. Оптимизация памяти с __slots__
  26. Работа с timedelta в Python
  27. Работа с itertools
  28. Codecademy в Telegram
  29. Работа с модулем cmath
  30. Подсчет элементов в Python
  31. Вывод сложных структур данных с помощью pprint
  32. Генерация случайных данных в NumPy
  33. JMESPath в Python
  34. Оболочка Python
  35. Генератор данных в Keras
  36. Работа с аргументами командной строки
  37. Лямбда-функции в Python
  38. Списковые включения в Python
  39. Оператор += для объединения строк
  40. Получение текущей директории
  41. Работа с модулем Calendar
  42. Получение идентификатора объекта в памяти
  43. Преобразование чисел в слова
  44. Создание и удаление объектов
  45. Аннотации типов в Python
  46. Нахождение пересечения множеств
  47. Antigravity модуль

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