Работа с объектами через интерфейсы
27.01.2025 - Практическая работа №8. Работа с объектами через интерфейсы
Интерфейсы — это способ описать, какие методы или свойства должен реализовывать объект, чтобы считаться "совместимым" с определённым функционалом. В Python интерфейсы часто реализуют через абстрактные классы с помощью модуля abc
(Abstract Base Class).
Пример 1: Интерфейс для животных
Код
Объяснение
Animal
— это интерфейс (абстрактный класс). Методspeak
обязателен для всех классов, которые реализуют этот интерфейс.Dog
иCat
— классы, которые реализуют методspeak
по-своему.
Тестирование
Пример 2: Интерфейс для операций с формами
Код
Объяснение
Shape
— интерфейс, определяющий, что любая форма должна иметь методыarea
иperimeter
.Rectangle
— класс, реализующий интерфейс. В нём методыarea
иperimeter
рассчитывают площадь и периметр прямоугольника.
Тестирование
Пример 3: Интерфейс для работы с транспортом
Код
Объяснение
Transport
— интерфейс, указывающий, что любой транспорт должен реализовать методmove
.Car
иAirplane
— классы, реализующие методmove
в зависимости от типа транспорта.
Тестирование
Итоговое объяснение
Интерфейс (
ABC
) — это "шаблон", описывающий, какие методы обязаны быть у класса.В каждом примере мы создаём интерфейс с одним или несколькими абстрактными методами.
Классы, реализующие интерфейс, обязаны полностью переопределить эти методы, иначе программа выдаст ошибку.
Благодаря интерфейсам, мы можем быть уверены, что все классы с определённым интерфейсом ведут себя одинаково.
Last updated