[英]What is factory and formJson in flutter/Dart Model class?
要访问数据,我们需要将响应传递给 dart model。这背后的目的是什么? 我尝试阅读 dart model 代码,其中包含“factory”和“formJson”等其他关键字。 这是什么实现?
简单的 model class 代码如下:
factory Posts.fromJson(Map<String, dynamic> json) => Posts(
userId: json["userId"],
id: json["id"],
title: json["title"],
body: json["body"],
);
在 Dart 中,我们使用 factory 关键字来标识默认或命名构造函数。 我们使用工厂关键字来实现不生成现有 class 的新实例的构造函数。
句法
class Class_Name {
factory Class_Name() {
// TODO: return Class_name instance
}
}
在使用工厂构造函数时,我们必须遵循一些规则。
使用 return 关键字。 它无权访问 this 关键字。 返回值工厂构造函数可以从缓存或子类型实例返回值。
示例 以下代码显示如何在 Dart 中使用 factory 关键字:
// create Class Car
class Car {
//class properties
String name;
String color;
//constructor
Car({ this.name, this.color});
// factory constructor that returns a new instance
factory Car.fromJson(Map json) {
return Car(name : json['name'],
color : json['color']);
}
}
void main(){
// create a map
Map myCar = {'name': 'Mercedes-Benz', 'color': 'blue'};
// assign to Car instance
Car car = Car.fromJson(myCar);
//display result
print(car.name);
print(car.color);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.