我有以下模型:
- 作者
- 发布
class Author implements Model {
String name;
String email;
User({this.name, this.email});
factory User.fromMap(Map data) {
return User(
name: data['name'] ?? 'Jon Doe'
email: data['email'] ?? 'jon@doe.com';
)
}
}
class Post implements Model {
User author;
String content;
User({this.name, this.email});
factory Post.fromMap(Map data) {
return Post(
author: Author.fromMap(data['author']);
content: data['content'];
)
}
}
我的问题是,我怎样才能让 dart“强制”所有模型都有一个 factory Model.fromMap(Map data)
?
我想这样做的原因是我想从 API (JSON) 中获取这些模型。
最佳答案
您不能对类的静态 形状提出任何要求,因为您无法利用该信息完成任何事情。为了调用 Post.fromMap
你需要具体引用Post.fromMap
,你不能调用someVariable.fromMap( )
。已经有一些关于能够向静态接口(interface)添加需求的讨论,但没有计划。 https://github.com/dart-lang/language/issues/356
关于flutter - Dart - 强制一个类有一个工厂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56653980/