我正在使用 Webstorm 6.0.2 并在尝试使用 mixin 语法时遇到错误:
class A{}
class B with A{} //error can't use with syntax without an extends?
为什么没有我不能with
使用extends
?肯定每堂课都含蓄extends Object
。
[...] 有一个简单的建议,实际上在语义上是正确的:在声明class C extends SC with M1, M2, M3 implements I1, I2 { ... }中,想象一下extends子句内容周围的括号。它们看起来像这样:class C extends (SC with M1, M2, M3) implements I1, I2 { ... }。这意味着 C 类没有扩展 SC,它扩展了 SC_with_M1_with_M2_with_M3。
或者,换一种说法:类声明有一个extends子句和一个implements子句,但它没有with子句。相反,with子句属于extends子句。
Florian Loitsch的另一点:
当您使用 mixin 扩展“Object”时,第一个 mixin 总是可以代替“Object”。
所以你的class B with A
应该class B extends Object with A
是也相当于class B extends A
.