Курс 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
- Работа с кортежами
- Функция с **kwargs в Python
- Ограничение ресурсов в Python
- Оформление кода на Python
- Функции в одну строку
- Декодирование строк в Python
- Преобразование чисел в слова
- Установка random seed в Python
- Удаление дубликатов из списка
- Распаковка значений в Python
- Подчеркивание в REPL
- Обработка исключений
- Функция zip() для объединения списков
- Форматирование данных с помощью pprint
- Передача неизвестных аргументов в Python.
- Обновление множества в Python
- Генераторы в Python
- Отношения подклассов в Python
- CLI-инструмент howdoi
- Проверка класса объекта
- Defaultdict в Python
- Объединение словарей в Python
- Сортировка с помощью key
- Функции any() и all() в Python
- Однострочники Python
- Модуль math: константы π и e
- ROT13 Шифр Цезаря в Python
- Декоратор Ajax required
- Модуль array: создание и использование массивов
- GitHub в Telegram: подписка на уведомления
- Работа с deque в Python
- Метод classmethod
- Создание словарей с defaultdict
- Создание таблиц в Python с PrettyTable
- Удаление URL-адресов в Python
- Присвоение и ссылки
- Оптимизация памяти в Python
- Выключение компьютера с помощью Python















