Я читал документацию по Dart и был немного сбит с толку, возможно, потому, что я пришел из Ruby, относительно того, как использовать интерфейсы. Конечно, интерфейсы не уникальны для Dart, и существует множество объяснений того, когда следует использовать интерфейс. Этот , например, говорит, что интерфейсы полезны только тогда, когда вы работаете в команде. Что это вообще должно означать в мире открытого исходного кода, где все читают и повторно используют чужой код?
Одно интересное объяснение, которое я видел, похоже, подразумевало, что интерфейсы используются:
Я этого не понимаю. Я понимаю, что модули в Ruby — это обходной путь, потому что они позволяют мне определять настоящие методы с реальными телами. Интерфейсы позволяют мне только определить, какие методы должен иметь реализующий его класс. В чем подвох? Может ли кто-нибудь рассказать о реальном полезном примере, где я могу сразу увидеть ценность использования интерфейсов?
П.С. Кстати, есть ли способ использовать множественное наследование в Dart?