Skip to content

呼び出し可能なオブジェクト

Dartクラスのインスタンスを関数のように呼び出すには、call()メソッドを実装します。

call() メソッドを使用すると、定義したクラスのインスタンスが関数をエミュレートできます。このメソッドは、パラメータや戻り値の型など、通常の関数と同じ機能をサポートしています。

次の例では、WannabeFunction クラスが call() 関数を定義しています。この関数は、3 つの文字列を受け取り、それぞれをスペースで区切って連結し、感嘆符を追加します。

dart
class WannabeFunction {
  String call(String a, String b, String c) => '$a $b $c!';
}

var wf = WannabeFunction();
var out = wf('Hi', 'there,', 'gang');

void main() => print(out);