本节目标

  • 定义、使用类
  • 构造函数
  • 简化构造
  • 初始化列表
  • 命名构造函数
  • 重定向构造函数

环境

  • Dart 2.0.0

定义、使用类

定义

1
2
class Point {
}

使用

1
var p = new Point();

构造函数

定义

1
2
3
4
5
6
7
8
class Point {
num x;
num y;
Point(num x, num y){
this.x = x;
this.y = y;
}
}

使用

1
2
var p = new Point(1, 2);
print([p.x, p.y]);

简化构造

定义

1
2
3
4
5
class Point {
num x;
num y;
Point(this.x, this.y);
}

使用

1
2
var p = new Point(1, 2);
print([p.x, p.y]);

初始化列表

定义

1
2
3
4
5
6
class Point {
num x;
num y;
var origin;
Point(this.x, this.y): origin = {x:x, y:y};
}

使用

1
2
var p = new Point(1, 2);
print([p.x, p.y, p.origin]);

命名构造函数

定义

1
2
3
4
5
6
7
8
class Point {
num x;
num y;
Point.fromJson(Map json) {
x = json['x'];
y = json['y'];
}
}

使用

1
2
var p = new Point.fromJson({"x": 1, "y": 2});
print([p.x, p.y]);

重定向构造函数

定义

1
2
3
4
5
6
class Point {
num x;
num y;
Point(this.x, this.y);
Point.fromJson(Map json) : this(json['x'], json['y']);
}

使用

1
2
var p = new Point.fromJson({"x": 1, "y": 2});
print([p.x, p.y]);

代码

参考


© 猫哥

https://ducafecat.tech