Курс 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"
- Работа с YAML в Python: PyYAML.
- Управление IP-адресами через прокси
- Атрибуты объекта в Python
- Удаление элементов по срезу
- Генерация случайных чисел в Python
- Метод __ilshift__ для битового сдвига влево
- Методы shutil для работы с файлами
- Python: Фильтрация списков с помощью filter()
- Работа с collections.Counter
- Создание виртуальной среды
- Освобождение памяти в Python
- Возвращение нескольких значений через кортеж или класс
- Переворот списка в Python
- Операции с комплексными числами
- Python Calendar Usage
- Работа с датами в Python
- Установка пакета в Python
- JSON-esque в Python
- Docstring в Python
- Генераторные функции в Python
- Импорт и использование модулей в Python
- Списковый компрехеншен.
- Функция enumerate() в Python
- Замена символов в строке
- Оптимизация памяти с __slots__
- Работа с timedelta в Python
- Работа с itertools
- Codecademy в Telegram
- Работа с модулем cmath
- Подсчет элементов в Python
- Вывод сложных структур данных с помощью pprint
- Генерация случайных данных в NumPy
- JMESPath в Python
- Оболочка Python
- Генератор данных в Keras
- Работа с аргументами командной строки
- Лямбда-функции в Python
- Списковые включения в Python
- Оператор += для объединения строк
- Получение текущей директории
- Работа с модулем Calendar
- Получение идентификатора объекта в памяти
- Преобразование чисел в слова
- Создание и удаление объектов
- Аннотации типов в Python
- Нахождение пересечения множеств
- Antigravity модуль















