我将如何做这样的事情:
class SubClass extends SuperClass {
List<String> text = [];
factory SubClass(bool debug) {
var func = (info) { if (debug) text.add(info); }
return SubClass._internal(func);
}
SubClass._internal(func) : super(func);
}
我不知道如何实现它,有什么建议吗?
我认为最好的解决方案是实现类并使用委托来模拟功能。
class SubClass implements SuperClass {
Function _f; // dummy variable
SuperClass _delegate;
f(text) => _delegate.f(text);
List<String> text = [];
SubClass(bool debug) {
var func = (info) { if (debug) text.add(info); };
_delegate = new SuperClass(func);
}
}
class SuperClass {
Function _f;
f(text) => _f(text);
SuperClass(this._f);
}
void main() {
var x = new SubClass(true);
x.f("info");
x.f("more info");
x.text.forEach((e) => print(e));
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句