Dart有类变量的概念吗?

时间:2018-06-21 10:46:35

标签: dart

在通过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有类变量的概念吗?

1 个答案:

答案 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}');
  }
}