Интерфейсы чего
Интерфейсы в ООП как в жава?
Есть аналогичные реализации
Это миксины?
Есть. Прям как в банде четырех написано - "интерфейс это набор сигнатур методов". Обычно формадизуются выписыванием в документации или наследованием от типа Protocol
В джаве неправильные интерфейсы, они требуют при создании класса указывать все интерфейсы которым он удовлетворяет, хотя это можно делать как в го
О, раз уж ты упомянул, снова накину свой вопрос) В каких случаях оправдано наследование от классов, которые дочерние от Protocol?
Когда хочешь явно показать что твой класс реализует этот интерфейс. Например для статического анализа
Ну т.е. это чисто для декларативных целей? Технических необходимостей нет?
Я тоже так думал... а pyright при явном наследовании от протокола не проверяет, удовлетворяет ему класс или нет.
Это проверяет флейк
Чтобы требовать от класса реализацию протокола
флейк проверят типы??
Ты в протоколе не забывай писать raise NotImplementedError и норм будет
Флейк проверяет абстрактные классы и лисков
Обсуждают сегодня