Курс 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"
- Встроенные функции Python
- Использование обратной косой черты в f-строках
- Создание GUI на Tkinter
- Перевернуть список в Python
- Форматирование данных с помощью pprint
- Обработка исключения UnboundLocalError
- Оператор «not» в Python
- Избегание изменяемых аргументов
- Обновление данных через PUT запрос
- Оформление кода на Python
- Создание копии списка в Python
- Нахождение пересечения множеств
- Конвертация коллекций в Python
- Принципы программирования
- Генераторы списков в Python
- Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
- Декораторы в Python
- Функция с *args.
- Работа с zip()
- Генераторы в Python
- Метод ipow для возведения в степень
- Оператор распаковки в Python
- Проверка условий: all и any
- Установка Git и AWS CLI
- Удаление дубликатов из списка
- Python Метод sleep() времени
- Ошибка NotImplemented в Python
- Удаление элемента из списка в Python
- Вычисление фазы комплексного числа
- Преобразование строк в числа в Python
- Monkey Patching в Python
- Метод __getitem__ в Python
- Оператор (*) в Python
- Работа с файлами в Python
- Деление в Python
- Получение текущей даты в Python
- Модуль future Python
- Библиотека sh: использование команд bash в Python
- Поиск всех индексов подстроки
- Справка по импортированным модулям
- Добавление элемента в список.
- Руководство по Pymorphy2
- Подписка на Kaspersky Team
- Фильтрация данных в Python.
- Генераторы списков















