「コンストラクタ名.任意名称」と記述することで複数のコンストラクタを定義することが可能です。
DartPadで確認してみました。
ソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
class Dog { var name; Dog() { this.name = 'Anonymous'; } Dog.hoge1(String str){ this.name = str; } Dog.hoge2(int num){ this.name = num; } } void main() { var dog = new Dog(); print(dog.name); var dog2 = new Dog.hoge1("aaa"); print(dog2.name); var dog3 = new Dog.hoge2(123); print(dog3.name); } |
結果
Anonymous
aaa
123