可以肯定的是,Dart 现在是否已删除显式定义
interface
,转而通过 abstract
隐式定义它?
我在Dart和接口隔离原则中看到了它,但是我也发现很多内容仍然引用显式定义,例如何时在Dart中使用接口?
请注意,接受的答案不再正确。
Dart 3 重新引入了
interface
关键字。请参阅此处:https://dart.dev/language/class-modifiers#interface
其语义与您对 Java 等其他语言的背景所期望的不同:在 Dart 中,这只是一个类修饰符,确保其他文件中的代码(= Dart 中的“库”)不能扩展此类,但必须完整地实现它(或者是抽象的)。
要获得类似 Java 的“纯”接口,请使用
abstract interface