Callable class
是什麼鬼,若是學過 Java,你確定會有這樣的疑問。編程
沒關係,耐心看下去。函數式編程
在 Dart 中容許一個類經過實現call()
方法,讓實例像函數那樣被直接調用的類, 稱爲callable class
。函數
class WannabeFunction {
call(String a, String b, String c) => '$a $b $c!';
}
main() {
var wf = new WannabeFunction();
var out = wf("Hi","there,","gang");
print('$out');
}
複製代碼
這裏,咱們定義了一個名叫 WannabeFunction
的類,實現了一個call()
方法。 而後在main函數中新建一個WannableFunction
的實例wf
,直接用實例函數的寫法調用wf("Hi","there,","gang")
。ui
callable class 這樣的語法設計有三個好處:this
答案是不能
。spa
class Person {
String name;
int age;
call(String name, int age) {
this.name = name;
this.age = age;
}
call(){} //解析時報錯call()已經定義了
}
複製代碼
返回 Dart 中的 dynamic
對象, 這樣也就適合函數式編程了。設計
有關 callable class
的介紹,官方文檔中不多說起,水平有限,只能講解到這了,若是你有更好的想法,歡迎給我提建議。code