相关疑难解决方法(0)

Dart 中的构造函数和初始值设定项列表有什么区别?

问题

下面两个代码的输出是一样的,但本质区别是什么?

Dart 语言之旅 - 初始值设定项列表

import 'dart:math';

class Point {
  final num x;
  final num y;
  final num distanceFromOrigin;

  Point(x, y)
      : x = x,
        y = y,
        distanceFromOrigin = sqrt(x * x + y * y);
}

main() {
  var p = new Point(3, 4);
  print(p.distanceFromOrigin);
}
Run Code Online (Sandbox Code Playgroud)

我的代码

  Point(this.x, this.y)
      : distanceFromOrigin = sqrt(x * x + y * y);
Run Code Online (Sandbox Code Playgroud)

两个输出相同 5。

  • 我应该如何正确使用构造函数和初始化列表?

开发环境

此致,

dart

9
推荐指数
2
解决办法
7856
查看次数

标签 统计

dart ×1