Junior — Middle
96
Da li je moguće definisati interfejs u Python-u i kako se to realizuje?
Одговор од АИ
sobes.tech АИ
В Python нет встроенного механизма интерфейсов, как в некоторых других языках (например, Java или C#). Однако интерфейсы можно реализовать с помощью абстрактных базовых классов (Abstract Base Classes, ABC) из модуля abc.
С помощью ABC можно определить методы, которые должны быть реализованы в подклассах, тем самым задавая контракт (интерфейс).
Пример:
from abc import ABC, abstractmethod
class MyInterface(ABC):
@abstractmethod
def my_method(self):
pass
class Implementation(MyInterface):
def my_method(self):
print("Реализация метода")
obj = Implementation()
obj.my_method() # Выведет "Реализация метода"
Если класс, наследующийся от MyInterface, не реализует все абстрактные методы, попытка создать его экземпляр вызовет ошибку.