Flutter Dart-强制一个类拥有一个工厂

Flutter Dart-强制一个类拥有一个工厂,flutter,dart,Flutter,Dart,我有以下型号: 作者 职位 我的问题是,我如何告诉dart“强制”所有模型都有一个工厂模型 我这样做的原因是我想从API(JSON)获取这些模型。您不能对类的静态形状提出任何要求,因为使用这些信息您无法完成任何事情。要调用Post.fromMap您需要特别参考Post.fromMap,您不能调用someVariable.fromMap()。关于能够向静态接口添加需求,已经有过一些讨论,但没有任何计划 class Author implements Model { String name;

我有以下型号:

  • 作者
  • 职位
我的问题是,我如何告诉dart“强制”所有模型都有一个
工厂模型


我这样做的原因是我想从API(JSON)获取这些模型。

您不能对类的静态形状提出任何要求,因为使用这些信息您无法完成任何事情。要调用
Post.fromMap
您需要特别参考
Post.fromMap
,您不能调用
someVariable.fromMap()
。关于能够向静态接口添加需求,已经有过一些讨论,但没有任何计划

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'];
    )
  }
}