在浏览Dart 语言之旅时,我在构造函数部分看到了这个示例:
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;
}
}
Run Code Online (Sandbox Code Playgroud)
谈论实例变量。来自Python,这最初让我有点困惑,因为我认为这num x, y;是一种类变量。
Dart 有类变量的概念吗?
不确定“类变量”是什么意思。
我假设你指的是静态变量。
静态变量每个类存在一次,而实例变量每个实例存在一次。
class Point {
static num x, y;
fooMethod() {
print('$x, $y');
}
}
Run Code Online (Sandbox Code Playgroud)
在声明它们的类中,无需前缀即可访问它们。从其他任何地方都可以使用类名称作为声明它们的前缀来访问它们。
void main() {
print(Point.x);
}
Run Code Online (Sandbox Code Playgroud)
此外,子类中声明字段的类前缀也是必需的,因为它们不是继承的。
class CustomPoint extends Point {
barMethod() {
print('${Point.x}, ${Point.y}');
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5417 次 |
| 最近记录: |