内更改了dart中的默认参数
如下代码所示,DB的默认类型为null,而不是10;是虫子吗内更改了dart中的默认参数,dart,Dart,如下代码所示,DB的默认类型为null,而不是10;是虫子吗 class DA{ int age; int type; DA(this.age,[this.type=10]); } mixin C { String name; } class DB extends DA with C{ DB(int age):super(age); } void main(){ var a=DB(11); print(a.type); } 似乎是一个bug,如Dart问题报告所示
class DA{
int age;
int type;
DA(this.age,[this.type=10]);
}
mixin C {
String name;
}
class DB extends DA with C{
DB(int age):super(age);
}
void main(){
var a=DB(11);
print(a.type);
}
似乎是一个bug,如Dart问题报告所示: 另一个有和没有mixin的例子
class DA{
int age;
int type;
DA(this.age,[this.type=10]);
}
mixin C {
String name;
}
class DB extends DA {
DB(int age):super(age);
}
class DC extends DA with C{
DC(int age):super(age);
}
void main(){
var a = DA(11);
var b = DB(11);
var c = DC(11);
print("A: ${a.type}"); // A: 10 (base class ok)
print("B: ${b.type}"); // B: 10 (inherited class ok)
print("C: ${c.type}"); // C: null (inherited with mixin not ok)
}
是的,它是一只虫子。