gpt4 book ai didi

inheritance - 如何使用相同的类名在dart中扩展类

转载 作者:行者123 更新时间:2023-12-03 03:26:18 25 4
gpt4 key购买 nike

有没有办法像Java一样使用与其父名称相同的名称扩展dart中的类?
像这样...

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

通过使用包名称定义父类,我可以使用相同的名称扩展该类,但这在dart中可行吗???

最佳答案

在Dart中,您可以导入带有前缀的另一个库。这使您可以限定对该名称的引用,因此它与当前库中的相同名称没有冲突:

import "other_connection.dart" as other;
class Connections 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 Connection之后添加 as other或在非前缀导入之后添加 hide Connection,但在这种简单情况下都不需要添加)。

关于inheritance - 如何使用相同的类名在dart中扩展类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54897143/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com