在通过A Tour of the Dart Language时,我在Constructors部分中看到了以下示例:
class Point {
num x, y;
Point(num x, num y) {
// There's a better way to do this, stay tuned.
this.x = x;
this.y = y;
}
}
谈论实例变量。来自Python,这最初使我感到困惑,尽管num x, y;
会是类变量。
Dart有类变量的概念吗?
答案 0 :(得分:2)
不确定“类变量”的含义。
我假设您是说静态变量。
静态变量每个类一次,而实例变量每个实例一次。
class Point {
static num x, y;
fooMethod() {
print('$x, $y');
}
}
在声明它们的类中,可以在没有前缀的情况下访问它们。 在其他任何地方都可以使用lass名称作为声明它们的前缀来访问它们。
void main() {
print(Point.x);
}
还从子类中声明了用于声明字段的类前缀,因为它们不是继承的。
class CustomPoint extends Point {
barMethod() {
print('${Point.x}, ${Point.y}');
}
}