-

类型

如果一个简单的函数就能满足你的需求,就应当避免声明一个只有单个成员的抽象类。和 Java 不同,Dart 有着顶级函数,闭包以及非常美观的语法高亮。如果你需要的和回调是类似的,那么只需要用一个函数即可。如果你定义的类只有一个成员并且其名称没什么含义,就像是call 或者 invoke 一样。那么直接定义一个函数将会是更好的选择:

typedef bool Predicate(item); // good
abstract class Predicate {
    bool test(item);  
}// bad