1
在Dart
中,如果一个类扩展了另一个类,扩展类将继承所有超类非静态变量,但不会继承其任何静态变量。在Dart中,不继承静态变量的原理是什么?
例如
class TestUpper {
static final String up = 'super';
String upup = 10;
}
class TestLower extends TestUpper {
static final String low = 'lower';
String lowlow = 11;
}
var lower = new TestLower();
print(lower.lowlow); // <== 11
print(lower.upup); // <== 10
print(TestLower.low); // <== "lower"
print(TestLower.up); // <== No static getter 'get:up' declared in class 'TestLower'
这是正常的行为呢?如果是这样,我会很感激,如果有人解释它背后的理由。
我看的理由,但不同意。如果你在扩展类中暴露超类,应该暴露超类。在没有反思的情况下工作时,我可以看到不必要的地方 - 只需查看代码即可! - 但是当一般地处理类时,非继承是一个真正的痛苦。 –
随意张贴在[镖杂项组]您的反馈(https://groups.google.com/a/dartlang.org/forum/#!forum/misc)。 –
已经这么做了 - 再次感谢! –