Курс 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"
- Управление экспортом элементов
- Работа с JSON в Python
- Многопоточность и асинхронное программирование в Python
- CLI-инструмент howdoi
- Оператор «or» в Python
- Оптимизация памяти с slots
- Ограничение ресурсов в Python
- Виртуальные среды в Python
- Функции в одну строку
- Конкатенация строковых литералов
- Особенности множеств в Python
- Установка и использование Python-dateutil
- Работа с модулем cmath
- Работа со случайными элементами
- Python UserString — создание подклассов строк
- Операторы сравнения в Python
- Настройка логгера Logzero
- Оболочка Python
- Сумма элементов списка
- Установка Git и AWS CLI
- Работа с набором данных CIFAR10 в PyTorch
- Вызов функций по строке в Python.
- Python Тесты и Гайды
- Flask: создание веб-приложений
- Настройка нарезки списков
- Получение комбинаций в Python
- Анонимные функции Lambda
- Генератор бросков кубиков
- Работа с файлами и директориями в Python.
- Измерение потребления памяти при сортировке
- Распаковка аргументов в Python
- Удаление дубликатов из списка
- Сортировка в Python
- Функция count() в Python
- Работа с массивами в Numpy
- Работа с индексами списков
- Хранение переменных в Python.
- Управление контекстом выполнения
- EMOT преобразование эмодзи в текст
- Генераторы списков в Python
- Отладка кода
- Импорт с альтернативным именем
- Поиск с библиотекой Google
- Метод __call__ в Python
- Освоение Python
- Поиск уникальных элементов строкой в Python
- discard() — удаление элемента из множества















