Dart多个构造函数
真的不可能在dart中为一个类创建多个构造函数吗?
在我的播放器类中,如果我有此构造函数
Player(String name, int color) { this._color = color;
this._name = name;
}
然后,我尝试添加此构造函数:
Player(Player another) { this._color = another.getColor();
this._name = another.getName();
}
我收到以下错误:
默认构造函数已经定义。
我不是通过创建带有一堆不需要的参数的构造函数来寻找解决方法。
有解决这个问题的好方法吗?
回答:
您只能有一个 构造函数,但可以有任意数量的其他已
构造函数
class Player { Player(String name, int color) {
this._color = color;
this._name = name;
}
Player.fromPlayer(Player another) {
this._color = another.getColor();
this._name = another.getName();
}
}
new Player.fromPlayer(playerOne);
该构造函数可以简化
Player(String name, int color) { this._color = color;
this._name = name;
}
至
Player(this._name, this._color);
命名构造函数也可以通过以 _
class Player { Player._(this._name, this._color);
Player._foo();
}
具有final
字段初始值设定项列表的构造函数是必需的:
class Player { final String name;
final String color;
Player(this.name, this.color);
Player.fromPlayer(Player another) :
color = another.color,
name = another.name;
}
以上是 Dart多个构造函数 的全部内容, 来源链接: utcz.com/qa/434205.html