Курс 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
- Расчет времени выполнения
- Преобразование range в итератор
- Блок else в обработке исключений
- Работа с контекстными переменными
- Проекты на Python
- Создание уникального множества
- Руководство по Pymorphy2
- Метод Event.wait() в Python
- Новшества Flask 2.0
- Python reversed() функция
- Установка пакета в Python
- Установка Python3.7 и PIP
- Сортировка слиянием
- Реализация операции -= для пользовательского класса
- Многострочные строки в Python
- Введение в Python
- Лямбда-функции в Python
- Лямбда-функции в Python
- Переменная Шредингера
- Безопасные SQL-запросы в Python 3.11
- Выбор редактора кода.
- Проверка условий в Python
- Конкатенация строк в Python
- Возврат нескольких значений
- Перевернуть список в Python
- Работа со строками в Python
- Метод ipow для возведения в степень
- Работа с JSON данными в Python
- Расширение операции побитового «и» в Python
- Преобразование списка в словарь через генератор
- Лямбда-функции в defaultdict
- Переменная с нижним подчеркиванием
- Отправка HTTP-запросов с User-Agent
- Методы Python для работы с данными
- Библиотека sh: удобные команды терминала
- Многострочные комментарии в Python
- Работа с исключениями в Python
- Функция reduce() из модуля functools
- Автоматизация действий с Pyautogui
- Упрощение работы с JSON-данными в Python
- Установка Git и AWS CLI
- Срезы в Numpy
- Метод pos в Python
- Отображение HTML кода в Python
- Присвоение значений переменным в Python















