Java'nın soyut yöntemleri ve soyut sınıflarının eşdeğerini elde etmek için Haxe'de bir yol var mı? Benim istediğimHaxe'de soyut ve özet olarak sınıfları ve yöntemleri açıklamanın bir yolu var mı?
ben almak mümkün oldum yakın bir arayüz olarak Process
tanımlamak ve her iki yöntemlerini tanımlayan bir kavramsal soyut sınıfın ProcessA
, onu uygulamaktır
// 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 ; }
}
olduğu; go
'un ProcessA
'daki uygulaması çöküyor. Sonra kavramsal olarak benim somut sınıflarımı ProcessA'dan uzaklaştırabilirim.
Haxe yönettiği "soyut" hayır, kutudan çıktığı böylece tamamen farklı bir şey vardır. Çözümünüz çalışıyor ve makrolarla (makrolarla ne mümkün değil) mümkün olabilir. – MSGhero
Peki, çözümüm sadece sınırlı bir düzeyde çalışıyor. Somut bir sınıfta 'go' geçersiz kılmayı unuttuğumda veya 'ProcessA' öğesini başlatırsam derleme zamanı uyarısı yoktur. –