Курс 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"
- Подсчет элементов в списке с Counter
- Динамические маршруты во Flask
- Декоратор Ajax required
- Проверка строки на палиндром
- Активация Matplotlib в Jupyter
- Инверсия списка и строки в Python
- Деление в Python
- Отправка POST-запроса в REST API
- Метод remove() для удаления элемента из списка
- Распаковка аргументов в Python
- Слияние словарей в Python 3.9
- Создание вложенных циклов for
- Разработка игры Pong с turtle
- Описание скриптов в README
- Форматирование кода на Python
- Декоратор проверки активности
- Модуль Antigravity в Python 3
- Создание циклической ссылки
- Очистка списка от False, None, 0, «»
- Создание и использование модулей в Python
- Аннотации типов в Python
- Python enumerate() функции
- Удаление дубликатов из списка
- Оператор += в Python
- Открытие и запись файлов
- Атрибуты объекта в Python
- Оператор «моржа» (Walrus Operator)
- Импорт в Python: список all
- Импортирование в Python
- Атрибуты класса и экземпляра в Python
- Удаление элементов по срезу
- Декораторы в Python
- Подчеркивание в REPL
- Преобразование Excel в PDF с Spire.XLS
- Цикл for в Python
- Транспонирование 2D-массива с помощью zip
- Принципы LSP и ISP в Python
- Измерение времени выполнения кода в Python
- Многоточие в Python
- Работа с файлами в Python
- Python Поверхностное Копирование
- Нахождение самого длинного слова в списке с помощью max
- Основы работы с os
- Запуск внешних программ с subprocess
- Построение графиков в Matplotlib
- Поиск шаблона в начале строки
- Создание словарей с defaultdict()
- Класс-оболочка для словарей
- Взаимодействие с внешними процессами в Python
- Оптимизация параметров в Python















