Курс 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
- Создание уникального множества
- Numpy: разбиение массивов
- Использование модуля math
- Установка и использование howdoi
- Создание пустых функций и классов в Python
- Поиск элементов BeautifulSoup
- Сравнение объектов в Python
- Возврат нескольких значений из функции
- Оператор объединения словарей
- Печать комбинаций в Python с Itertools
- Метод join для объединения строк
- Декодирование байтов в строку
- Тернарный оператор в Python
- Поиск наиболее частого элемента в списке
- Кортежи в Python: особенности и преимущества
- Декораторы с @wraps
- Функция map() в Python
- Генерация случайных чисел в Python
- Конвертация коллекций в Python
- Гибкие функции Python
- Философия Python
- Безопасные SQL-запросы в Python 3.11
- Применение функции map() с лямбда-функциями
- Замена текста с re.sub()
- Модуль math: основные функции
- Тестирование модели в PyTorch
- Ускорение выполнения кода в Python
- Оператор in в Python
- Функции с необязательными аргументами
- Метод rmatmul для пользовательских матриц
- Замер времени выполнения кода
- Декораторы с аргументами
- Многопоточность и асинхронное программирование в Python
- Функциональное программирование в Python
- Измерение времени выполнения с помощью time
- Комплексные числа в Python
- Справка по импортированным модулям
- Логирование с Logzero
- Декоратор total_ordering для сравнения объектов
- Создание списков в Python
- Установка Python — Простое руководство
- Виртуальные среды в Python
- Функция count() в Python















