Курс 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
- Списковые включения в Python
- Генераторные выражения и islice.
- Получение текущей даты и времени с помощью datetime
- Проверка типа объекта в Python
- Проверка типов с использованием isinstance
- Метод join() для объединения элементов строки
- Работа с базами данных SQLite
- Конвертация текстовых чисел с помощью Numerizer
- Аннотации типов в Python
- Установка User-Agent в Python
- Оптимизация памяти с __slots__
- Операции с кортежами
- Импортирование в Python
- Отладка в командной строке
- Тип данных TypeVarTuple
- Курс Data Scientist в медицине
- Область видимости переменных
- Замена подстроки
- Объединение объектов в Python
- Библиотека schedule: планировщик задач
- Преобразование чисел в восьмеричную строку
- Python defaultdict добавление ключа
- Создание пар из последовательностей
- Оператор умножения для вектора
- Условные выражения в Python
- Комплексные числа в Python
- Синхронизация доступа к ресурсам
- Lambda Functions in Python
- Работа с SQLite в Python
- Удаление falsy-значений из списка с помощью filter
- Создание GUI на Tkinter
- Генерация случайных чисел Python
- Retrying в Python: повторные вызовы
- Сравнение строк в Python
- Создание таблиц в терминале с PrettyTable
- Класс Counter() для подсчета элементов
- Создание новых списков в Python
- Создание словарей и множеств в Python
- Удаление элементов по срезу
- Оператор break в Python
- Работа с часовыми поясами в Python
- Просмотр атрибутов и методов класса
- Список методов и атрибутов
- Работа с срезами в Python
- Настройка Cron
- List Comprehension Tutorial















