Dartでは名前付き引数(Named Parameter)の利用が可能です. 名前付き引数を利用することで,引数の指定誤りを防ぐことができます.
名前付き引数を使わない場合
下記ではPerson
クラスを作成し,コンストラクタに名字(last
)と名前(first
)を引数として渡している.
名前付き引数を利用しない場合,1番目が名字なのか,2番目が名字なのかわからず後々エラーの原因になる可能性がある.
void main() {
var person1 = new Person('Jordan','Micheal');
print(person1);
}
class Person {
String last;
String first;
Person(this.last, this.first);
toString() {
return '$last, $first';
}
}
名前付き引数を使う場合
下記の通り名前付き引数を利用することで,コンストラクタで定義されている引数の順番と異なっていても,正しく初期化ができる.
void main() {
var person1 = new Person(first:'Micheal',last:'Jordan');
print(person1);
}
class Person {
String last;
String first;
Person({this.last, this.first});
toString() {
return '$last, $first';
}
}
引数を必須にする
上記は引数を省略可能であったため,meta.dart
をimportし,@required
のアノテーションを引数に付与することで,必須パラメターとなる.
import 'package:meta/meta.dart';
void main() {
var person1 = new Person(first:'Micheal',last:'Jordan');
print(person1);
}
class Person {
String last;
String first;
Person({@required this.last, @required this.first});
toString() {
return '$last, $first';
}
}