繁体   English   中英

Dart 在工厂命名构造函数中初始化超级构造函数

[英]Dart Initialise Super Constructor in Factory Named Constructor

如何在命名工厂构造函数中初始化超级 class 的变量? 这是我的示例代码:

class ClassA{
  final a;
  final b;

  ClassA({this.a, this.b});

}

class ClassB extends ClassA{
  final c;
  List <String> myList;

  ClassB({this.c,this.myList});


  factory ClassB.fromJson(json){
    var list = json["list"] as List;
    List<String> tempList = [];

    list.forEach((item)=>tempList.add(item));
    return ClassB(
      c: json["c"],
      myList: tempList
    );
  }


} 

我不确定我如何或在哪里调用 Class A 的超级构造函数,以便我可以初始化它的变量。

这是调用super的方法:

class ClassA{
  final a;
  final b;

  ClassA({this.a, this.b});

}

class ClassB extends ClassA{
  final c;
  List <String> myList;

  ClassB({final a, final b, this.c,this.myList}) : super(a: a, b: b);

  factory ClassB.fromJson(json){
    var list = json["list"] as List;
    List<String> tempList = [];

    list.forEach((item)=>tempList.add(item));
    return ClassB(
      c: json["c"],
      myList: tempList
    );
  }
} 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM