如何使用同一类名称在DART中扩展类



是否有一种方法可以像java一样使用与父母相同的名称在DART中扩展一类?这样的东西...

class Connection extends com.mypackage.Connection{
    ...
}

通过用包装名称定义父类,我可以使用同名扩展类,但是这在DART中可以吗?

在飞镖中您可以用前缀导入另一个库。这使您可以限定对名称的参考,因此它不会与当前库中的同一名称冲突:

import "other_connection.dart" as other;
class Connection extends other.Connection { 
  ...
}

这也可用于从两个不同的导入中符合冲突的名称。

(DART库具有默认的导入范围,其中添加了导入名称,并且可以直接引用。导入的as prefix合格器意味着将导入输入其他导入范围,您可以通过prefix引用。可以将多个库导入到同一前缀导入范围中。)

如果您使用的是来自同一导入的更多名称,而其中只有一个是冲突,则可以在有和没有前缀的情况下导入同一库。说,other_connection.dart同时声明ConnectionDisconnection

import "other_connection.dart" as other;
import "other_connection.dart";
class Connection extends other.Connection { ... }
class Separation extends Disconnection { ... }

带有前缀的导入是DART提供的工具之一,以避免导入中的名称冲突。另一个工具是隐藏(使用hideshow),该工具主要用于避免不同导入之间的冲突。您可以按照需要的方式狭窄地使用它们(您可以在未经固定的导入后添加show Connectionhide Connection之后添加CC_8,但是在这种简单的情况下也不需要)。

最新更新