由於科特林有lambda表達式這種良好的支持,我開始使用lambda表達式作爲構造參數abstract
類,而不是宣佈abstract val/fun
。抽象類與拉姆達參數
在我看來這更簡潔,尤其是因爲val
類型得到的推斷。
這有什麼缺點?
abstract class AbstractListScreen<T> (
val data: Set<T>,
val filterators: (T) -> Set<String>
) {
fun open() {
/* ... */
}
}
class OrderListScreen : AbstractListScreen<Data>(data = setOf(),
filterators = { setOf(it.toString()) }
) {
fun someEvent() {
/* ...*/
}
}
事實上,代碼看起來更清潔,少令人費解;) – voddan
我會接受這個答案,但我希望得到有關OOP和重構(refactorization)的更多信息,而不是實際的(文件和性能)問題... –