是否从Dart中删除了"interface"关键字?

wil*_*ire 5 interface class definition abstract dart

可以肯定的是,Dart是否已经明确定义了interface现在支持通过隐式定义它abstract

我在Dart和接口隔离原理中看到它,但是我也发现很多内容仍然引用了显式定义,例如何时在Dart中使用接口?

Gre*_*owe 10

是.interface关键字已从Dart中删除.相反,所有类都有隐式接口.因此,如果要定义接口,可以使用抽象类.

请参阅2012年关于消除interface关键字的博文.


Mat*_*ker 6

请注意,接受的答案不再正确。

Dart 3 重新引入了该interface关键字。请参阅此处: https: //dart.dev/language/class-modifiers#interface

它的语义与您对 Java 等其他语言的背景所期望的不同:在 Dart 中,这只是一个类修饰符,确保其他文件(= Dart 中的“库”)中的代码不能扩展此类,但必须完全实现它(或抽象)。

要获得类似 Java 的“纯”接口,请使用abstract interface