我想通过调用具有不同数量参数的构造函数来创建不同的对象。如何在Dart中实现?
class A{
String b,c,d;
A(this.b,this.c)
A(this.b,this.c,this.d)
}
答案 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
}