小编Ale*_*res的帖子

如何在 Dart 3 中声明接口方法?

我最近从 Dart 2 迁移到 Dart 3,并注意到添加了类修饰符,包括接口类。它们在设置属性时工作得很好,但是当涉及到方法时,它会抛出一个错误,指出我需要将类转换为抽象类。根据逻辑,我理解接口不应该有方法体。这是一个例子:

工作正常:

interface class Foo {
  late String bar;
}
Run Code Online (Sandbox Code Playgroud)

抛出 dartconcrete_class_with_abstract_member:

interface class Foo {
  late String bar;
  
  // 'getFormattedBar' must have a method body because 'Foo' isn't abstract.
  // Try making 'Foo' abstract, or adding a body to 'getFormattedBar'.
  // (dartconcrete_class_with_abstract_member)
  String getFormattedBar(); 
}
Run Code Online (Sandbox Code Playgroud)

如何在 Dart 3 中声明接口方法?

我希望在接口中定义方法(当然,根据接口的定义),然后在实现类中使用各自的主体建立它们的具体实现。相反,我被迫在界面中放置一个空的主体,这没有任何意义。理想的是有这样的东西:

interface class Foo {
  late String bar;
  String getFormattedBar(); 
}
Run Code Online (Sandbox Code Playgroud)

abstraction dart flutter dart3

2
推荐指数
1
解决办法
1564
查看次数

标签 统计

abstraction ×1

dart ×1

dart3 ×1

flutter ×1