Поддерживает ли Python интерфейсы, например, в Java или C #?

Нет, у python нет никакого эквивалента интерфейсов. Поскольку Python поддерживает множественное наследование, вы можете легко эмулировать эквивалентность интерфейсов. Это означает, что интерфейсы неявны в Python: если объект соответствует интерфейсу, вы можете его использовать, нет необходимости объявлять его так же, как на статически типизированных языках, таких как Java или C #.

Наиболее близким, вероятно, является модуль абстрактных базовых классов, который позволяет вам определять общие методы для набора классов.

 
class Abstract:
  def myFunc(self):
      raise NotImplementedError("The method not implemented")

Может быть, вы можете использовать что-то вроде выше. Это будет действовать как абстрактный класс. Поэтому каждый подкласс вынужден реализовать myFunc().

Интерфейсы - это концепции, которые относятся к статически типизированным языкам, таким как Java или C #, и на самом деле не применяются к динамическому языку, например Python.

Источник: http://net-informations.com/python/iq/interfaces.htm

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector