メインコンテンツにスキップ

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

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

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

次の例では、WannabeFunction クラスは、3 つの文字列を受け取り、それらをスペースで区切り、感嘆符を追加して連結する call() 関数を定義しています。実行 をクリックしてコードを実行します。

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);