Курс 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
- Проверка подстроки в строке
- Переменные класса и экземпляра
- Получение ID текущего процесса
- Операции с матрицами в Python
- Декоратор Ajax required
- Python Enumerate
- Перебор элементов списка в Python
- Модуль inspect: получение информации о объектах
- Поиск простых чисел
- Конкатенация строк с помощью join()
- Печать месячного календаря
- Подписка на каналы разработчиков
- Блок else в обработке исключений
- Добавление кнопки в tkinter
- Работа с географическими данными.
- Принципы Zen of Python
- Настройка логгера Logzero
- Пропуск начальных строк с помощью dropwhile()
- Удаление файлов и папок в Python
- Расширение операции побитового «и» в Python
- Обработка элементов в Python
- Удаление ключа из словаря
- ChainMap.new_child() — добавление нового словаря
- Передача неизвестных аргументов в Python.
- Работа со строками в Python
- Работа с атрибутом dict
- Объединение списков с помощью zip
- Создание и операции с дробями
- Список и кортеж в Python
- Удаление ссылок в Python
- Операторы сравнения в Python
- Назначение максимального и минимального значения переменной в Python.
- Работа со словарями с defaultdict из collections
- Анализ текста на русском языке с помощью Pymystem3
- Lambda Functions in Python
- Фильтрация списков с itertools
- Извлечение аудио из видео
- Функции all и any в Python
- Методы Python для работы с данными
- Принципы SRP и OCP
- Основы работы со строками в Python
- Декораторы в Python
- Импорт с альтернативным именем
- Функция __init__ в Python
- Поиск файлов по шаблону
- PUT запрос для обновления данных















