如何使用相同的 class 名称在飞镖中扩展 class
How to extend a class in dart using the same class name
有没有办法像 java 那样使用与其父项相同的名称来扩展 dart 中的 class?
像这样...:[=13=]
class Connection extends com.mypackage.Connection{
...
}
通过使用包名称定义父 class,我可以使用相同的名称扩展 class,但这在 dart 中可能吗???
在 Dart 中,您可以使用前缀导入另一个库。这允许您限定对名称的引用,因此它不会与当前库中的相同名称冲突:
import "other_connection.dart" as other;
class Connection extends other.Connection {
...
}
这也可用于限定来自两个不同导入的冲突名称。
(Dart 库有一个默认的导入范围,其中添加了导入的名称,可以直接引用。导入上的 as prefix
限定符意味着该导入被放入不同的导入范围,这你可以通过 prefix
引用。可以将多个库导入到相同的前缀导入范围。)
如果您在同一个导入中使用多个名称,并且只有其中一个有冲突,您可以导入带前缀和不带前缀的同一个库。
比如说,other_connection.dart
声明了 Connection
和 Disconnection
:
import "other_connection.dart" as other;
import "other_connection.dart";
class Connection extends other.Connection { ... }
class Separation extends Disconnection { ... }
带前缀的导入是 Dart 提供的一种避免导入名称冲突的工具。另一个工具是隐藏(使用 hide
或 show
),主要用于避免不同导入之间的冲突。
您可以根据需要使用它们(您可以在 as other
之后添加 show Connection
或在无前缀导入之后添加 hide Connection
,但在这种简单的情况下都不需要)。
有没有办法像 java 那样使用与其父项相同的名称来扩展 dart 中的 class? 像这样...:[=13=]
class Connection extends com.mypackage.Connection{
...
}
通过使用包名称定义父 class,我可以使用相同的名称扩展 class,但这在 dart 中可能吗???
在 Dart 中,您可以使用前缀导入另一个库。这允许您限定对名称的引用,因此它不会与当前库中的相同名称冲突:
import "other_connection.dart" as other;
class Connection extends other.Connection {
...
}
这也可用于限定来自两个不同导入的冲突名称。
(Dart 库有一个默认的导入范围,其中添加了导入的名称,可以直接引用。导入上的 as prefix
限定符意味着该导入被放入不同的导入范围,这你可以通过 prefix
引用。可以将多个库导入到相同的前缀导入范围。)
如果您在同一个导入中使用多个名称,并且只有其中一个有冲突,您可以导入带前缀和不带前缀的同一个库。
比如说,other_connection.dart
声明了 Connection
和 Disconnection
:
import "other_connection.dart" as other;
import "other_connection.dart";
class Connection extends other.Connection { ... }
class Separation extends Disconnection { ... }
带前缀的导入是 Dart 提供的一种避免导入名称冲突的工具。另一个工具是隐藏(使用 hide
或 show
),主要用于避免不同导入之间的冲突。
您可以根据需要使用它们(您可以在 as other
之后添加 show Connection
或在无前缀导入之后添加 hide Connection
,但在这种简单的情况下都不需要)。