Dan*_*son 8 syntax mixins dart
我正在使用Webstorm 6.0.2并在尝试使用mixin语法时出错:
class A{}
class B with A{} //error can't use with syntax without an extends?
Run Code Online (Sandbox Code Playgroud)
为什么我不能with没用extends?当然每个阶级都隐含着extends Object.
Ale*_*uin 15
[...]有一个简单的建议,实际上在语义上是正确的:在声明类C中扩展了SC,M1,M2,M3实现了I1,I2 {...},想象一下围绕extends子句内容的括号.它们看起来像这样:C类扩展(带有M1,M2,M3的SC)实现I1,I2 {...}.这意味着C类不扩展SC,它扩展SC_with_M1_with_M2_with_M3.
或者,换一种说法:类声明中有一个扩展条款和工具条,但它不具有与条款.相反,with子句属于extends子句.
当您使用mixin扩展"Object"时,第一个mixin总是可以取代"Object".
所以你class B with A应该class B extends Object with A这也相当于class B extends A.
| 归档时间: |
|
| 查看次数: |
716 次 |
| 最近记录: |