Курс 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
- Бесконечные списки в Python
- PrettyTable: создание таблицы
- Flask: создание веб-приложений
- globals и locals
- Инициализация переменных
- Функция all() в Python
- Фильтрация данных в Python.
- Работа с YAML в Python
- Добавление элемента в список.
- Метод __getitem__ в Python
- Оператор морж в Python 3.8
- Работа с коллекциями Python
- Mad Libs Generator
- Декораторы в Python
- UserString в Python
- Функция zip() в Python
- Атрибуты класса и экземпляра
- Вызов внешних программ в Python с помощью sh
- PUT запрос для обновления данных
- Оператор «not» в Python
- Использование модуля __future__
- Оценка точности модели
- Создание списка через итерацию
- Генератор списка с условием if
- Искажение имен в Python
- Работа со строками в Python.
- ChainMap избыточные ключи
- Создание и использование модулей в Python
- Библиотека itertools: объединение списков
- Блок try…finally в Python
- Расчет времени выполнения программы
- Глобальные переменные в Python
- Работа с исключениями в Python
- Работа с изображениями Pillow
- Ветвление выражения в Python
- Обработка ошибок в Python
- Генерация чисел с range()
- Основы работы со строками в Python
- Команда %dhist — список посещенных каталогов
- Добавление кнопки в tkinter
- Роль запятой в Python
- Встраивание HTML в Jupyter Notebook
- Списки в Python: основы
- Декораторы в Python
- Оптимизация гиперпараметров с Scikit Optimize















