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

回到顶部