Курс 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"
- Мониторинг работы программы Py-spy
- Операции с кортежами
- Работа с библиотекой xkcd
- Метод Enumerate() для списков
- Изменение IP-адреса в Python
- Управление сессиями в Python
- Лямбда-функции в Python
- Область видимости переменных
- Поиск индекса элемента в списке
- Функция zip() для объединения списков
- Переопределение метода __floordiv__
- List Comprehension Tutorial
- Синхронизация доступа к ресурсам
- Вложенные функции в Python
- Принцип одной функции
- Создание новых списков в Python
- Контекстный менеджер в Python
- Метод index() в Python
- Экспорт данных в файл.
- Удаление элементов по срезу
- Подсчет часто встречающихся элементов
- Многострочные комментарии в Python
- Преобразование данных в Python
- Повторение элементов в Python
- Срезы в Numpy
- Решение переменной Шредингера
- Кортежи в Python: особенности и преимущества
- Метод count в Python: почему count(», ») возвращает 4?
- Форматирование строк в Python
- Преобразование строк в числа с плавающей запятой
- Итерации в Python
- Функция sleep() в Python
- Добавление элемента к кортежу
- JSON в Python: модуль, dump, dumps, load
- Структура строк в Python
- Изменение логики работы с временем
- Настройка нарезки списков
- Передача словаря через **kwargs
- Упрощение условных выражений с тернарным оператором
- Повторение и перенос строки
- Метод count() для списка
- Исключение NotImplementedError
- Удаление дубликатов из списка с помощью dict.fromkeys
- Замена символов в Python















