内更改了dart中的默认参数

内更改了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问题报告所示

如下代码所示,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问题报告所示:

另一个有和没有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)
}

是的,它是一只虫子。