如果一個(gè)簡(jiǎn)單的函數(shù)就能滿足你的需求,就應(yīng)當(dāng)避免聲明一個(gè)只有單個(gè)成員的抽象類。和 Java 不同,Dart 有著頂級(jí)函數(shù),閉包以及非常美觀的語法高亮。如果你需要的和回調(diào)是類似的,那么只需要用一個(gè)函數(shù)即可。如果你定義的類只有一個(gè)成員并且其名稱沒什么含義,就像是call
或者 invoke
一樣。那么直接定義一個(gè)函數(shù)將會(huì)是更好的選擇:
typedef bool Predicate(item); // good
abstract class Predicate {
bool test(item);
}// bad
更多建議: