gpt4 book ai didi

haxe - 有没有办法在 Haxe 中将类和方法声明为抽象?

转载 作者:行者123 更新时间:2023-12-04 14:43:20 27 4
gpt4 key购买 nike

Haxe 有没有办法获得 Java 的抽象方法和抽象类的等价物?

我想要的是

// An abstract class.  (Written in a Java/Haxe hybrid.)
abstract class Process<A> {
public function then<B>( f : A -> Process<B> ) : Process<B> {
var a : A = go() ;
return f(a) ;
}

abstract public function go( ) : A ;
}

// A concrete class.
class UnitP<A> extends Process<A> {
var _a : A ;

public function new( a : A ) {
_a = a ; }

public override function go() : A { return _a ; }
}

我能得到的最接近的是定义 Process作为一个接口(interface)并用一个概念上的抽象类来实现它 ProcessA ,它定义了这两种方法; go的执行在 ProcessA简直崩溃了。然后我可以从 ProcessA 扩展我在概念上具体的类。

最佳答案

正如 MSGhero 所提到的,Haxe 本身并不支持 Java 风格的抽象。不过有几个人要求,所以 Andy Li 编写了一个宏来为 Haxe 用户提供类似的功能:

https://gist.github.com/andyli/5011520

关于haxe - 有没有办法在 Haxe 中将类和方法声明为抽象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30377305/

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