Курс 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
- Оператор «or» в Python
- Ввод нескольких значений
- Оптимизация памяти в Python
- Объединение словарей в Python
- Добавление элементов в список: append() vs extend()
- Нахождение самого длинного слова в списке с помощью max
- Утечки переменных цикла в Python 3.x
- Проектирование Singleton с метаклассом
- Иерархия классов в Python
- Конкатенация строк в Python
- Копирование в Python
- Преобразование кортежа в словарь.
- Метод join() для объединения элементов строки
- Измерение времени выполнения кода
- TON Smart Challenge #2: участие и подготовка
- Создание функций с произвольным количеством аргументов
- Блок try-except-else
- Функция enumerate() — Python
- Работа с модулем Calendar
- Создание словаря с значением по умолчанию
- Извлечение данных из JSON
- Поиск самого частого элемента
- Оператор del в Python
- Преобразование генераторов в циклы
- Отрицательные индексы списков в Python
- Настройка Cron
- Вызов функций по строке в Python.
- Метод округления чисел
- Управление пакетами с pip
- Генерация случайных чисел в Python
- Комментарии в Python
- Howdoi — получение ответов из терминала
- Работа с изображениями Pillow
- Запуск Python из интерпретатора
- Обезопасьте ввод данных
- Подписка на каналы разработчиков
- Удаление файлов и папок в Python
- Concrete Paths — метод .with_suffix()
- Пространство имен в Python
- Преобразование числа в список цифр
- Комментарии в Python
- Использование defaultdict в Python
- Локальные переменные.
- Отправка поздравлений по дню рождения
- Парсинг статей с Newspaper3k















