【问题标题】:Can we implement from an abstract class? [duplicate]我们可以从抽象类实现吗? [复制]
【发布时间】:2020-08-27 15:23:57
【问题描述】:

在 Dart 中我发现我们可以从抽象类实现,这可能吗,我从我的背景中知道的是:我们只能从接口实现并从抽象类扩展,这怎么可能?

abstract class A{
      
      int aa;
     
      String bb;
     
      String c;
}
    
class B implements A{
      @override
      int aa= 100;
    
      @override
      String bb= "testtesttets";
    
      @override
      String cc= "testtesttets";
}

【问题讨论】:

  • 这听起来更像 Java。飞镖不是这种情况。我建议在问这里之前做一些研究并阅读language tour
  • @ChristopherMoore 谢谢你的回答,但它没有回答我的问题,我的问题是:可以从抽象类中实现吗?为什么?因为我们只从接口而不是抽象类实现,对吧?
  • 您的假设“我们仅从接口而不是抽象类实现”并不完全正确。从链接的帖子“每个类都隐式定义一个接口,其中包含该类的所有实例成员及其实现的任何接口。”这显然是可能的,正如您发布的示例所证明的那样。
  • @ChristopherMoore 你的意思是我们可以从接口类和抽象类中实现,对吧?你能解释一下吗?
  • 还有什么要解释的?每个类都隐式定义了一个接口,该接口包含该类的所有实例成员以及它实现的任何接口。每个类都是一个接口。

标签: dart


【解决方案1】:

是的,你可以实现一个抽象类的接口(和一个非抽象类,还有一个mixin)。

您可以实现接口。

在 Dart 中,所有的class 声明都引入了一个接口,所有的mixin 声明都引入了一个接口。没有单独的接口声明。

【讨论】:

    猜你喜欢
    • 2010-09-21
    • 2011-06-02
    • 2020-11-21
    • 2018-02-18
    • 1970-01-01
    • 2012-02-25
    • 1970-01-01
    • 2018-12-16
    相关资源
    最近更新 更多