gpt4 book ai didi

interface - Haxe:如何在接口(interface)中声明 "static"方法?

转载 作者:行者123 更新时间:2023-12-02 23:10:35 26 4
gpt4 key购买 nike

这个问题已经在 babble 上的旧 Haxe 论坛中被问过(并且可能得到了回答)...但似乎整个论坛系统不再起作用。因此,我在这里问:

在 Haxe 中,我需要声明一个包含静态函数“instance()”的类的“接口(interface)”。但当我这样做时:

不能在接口(interface)中声明静态字段

所以我从 public function instance() [...] 中删除了“static”一词,我得到了这个:

缺少 [...] 所需的字段实例。

显然是“第22条军规”。但显然必须有一些简单的解决方案。它是什么?

最佳答案

正如您所说,该语言不允许接口(interface)上有静态字段。选择是有意的。另一件不存在的事情是继承静态字段。

有多种方法可以构建您的代码以避免这种使用,在我看来,它不会给您带来很多优势。工厂模式或 DI 方法(我建议 minject library )似乎是最明显的。

鉴于下面的评论,请使用 typedef 而不是接口(interface):

typedef GetInstance = Void -> Void;

您可以像传递接口(interface)一样传递 typedef,其优点是可以使用静态方法和实例方法来满足该签名。

关于interface - Haxe:如何在接口(interface)中声明 "static"方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29949867/

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