13
就在昨天,我决定在过去几年使用Actionscript 3之后开始学习Haxe编程语言。今天我一直在探索抽象类型,并且我意识到它们与Java中的抽象类看起来有很大不同。我开始掌握他们所做的一些事情,但我不确定什么是摘要。 Haxe中摘要的正确使用是什么,我应该在课堂上赞成他们?正确使用摘要
例如,下面是使用抽象类型的复数类型的不完整定义。我应该选择这个还是仅仅是一个普通的班级?
abstract Complex({real:Float, imag:Float}) {
public function new(real:Float, imag:Float) {
this = { real: real, imag: imag };
}
public function real():Float { return this.real; }
public function imag():Float { return this.imag; }
@:op(A + B)
public static function add(lhs:Complex, rhs:Complex):Complex {
return new Complex(lhs.real() + rhs.real(), lhs.imag() + rhs.imag());
}
public function toString():String {
return real() + " + " + imag() + "i";
}
}
第一个子弹点使它真的为我点击!现在我明白他们为什么被称为“摘要”(: –