类变量和方法 3个月前

编程语言
586
类变量和方法

使用 static 关键词来实现类级别的变量和方法。

静态变量

静态变量(类变量)对类级别的状态和常数是很有用的。

class Queue {
  static const initialCapacity = 16;
  // ···
}

void main() {
  assert(Queue.initialCapacity == 16);
}

静态变量直到它们被使用才会初始化。

说明:该页面遵守 代码规范推荐 倾向于使用 ”小驼峰“来作为常量名。

静态方法

静态方法(类方法)不操作实例,因此不能访问 this。比如:

import 'dart:math';

class Point {
  num x, y;
  Point(this.x, this.y);

  static num distanceBetween(Point a, Point b) {
    var dx = a.x - b.x;
    var dy = a.y - b.y;
    return sqrt(dx * dx + dy * dy);
  }
}

void main() {
  var a = Point(2, 2);
  var b = Point(4, 4);
  var distance = Point.distanceBetween(a, b);
  assert(2.8 < distance && distance < 2.9);
  print(distance);
}

说明:对常见或者广泛使用的实用工具和功能,考虑使用顶级函数,而不是静态方法。

你可以使用静态方法作为编译期常量。比如,你可以把静态方法作为一个常量构造函数的参数。

image
EchoEcho官方
无论前方如何,请不要后悔与我相遇。
1377
发布数
439
关注者
2222850
累计阅读

热门教程文档

MySQL
34小节
Swift
54小节
Typescript
31小节
Redis
14小节
Maven
5小节