如何在dart中创建多个构造函数?

时间:2019-06-19 13:59:21

标签: flutter dart

我想通过调用具有不同数量参数的构造函数来创建不同的对象。如何在Dart中实现?

class A{
  String b,c,d;

  A(this.b,this.c)
  A(this.b,this.c,this.d)

}

2 个答案:

答案 0 :(得分:4)

请参见Constructor section of Tour of Dart

基本上,Dart不支持方法/构造函数重载。但是Dart允许命名构造函数和可选参数。

在您的情况下,您可以:

class A{
  String b,c,d;

  /// with d optional
  A(this.b, this.c, [this.d]);

  /// named constructor with only b and c
  A.c1(this.b, this.c);
  /// named constructor with b c and d
  A.c2(this.b, this.c, this.d);
}

答案 1 :(得分:0)

为了清楚起见,可以使用命名构造函数为一个类实现多个构造函数。

class A{
      String b,c,d;

      // A(); //default constructor no need to write it
      A(this.b,this.c); //constructor #1
    
      A.namedConstructor(this.b,this.c,this.d); //another constructor #2
    
    }