如何从 Flutter 中的不同模型继承多个类

Posted

技术标签:

【中文标题】如何从 Flutter 中的不同模型继承多个类【英文标题】:How to Inherited multiple class from different model in Flutter 【发布时间】:2021-05-28 11:42:07 【问题描述】:

我有卡片模型,里面有三个不同的类,App、Figures 和 Item。

我有另一个名为 Favorite Model 的模型,它具有与 Card Model 类似的类,但只会多出 2 个变量。

我试图不复制整个类并将其粘贴到最喜欢的模型中,因为它看起来像是重复的,所以我只是想从最喜欢的模型发短信但出于某种原因我不允许只扩展一个类但不是三类。

卡片模型

class App 
  String name;
  int id;
  bool showCards = false;
  List<Item> items;


class Figures 


class Item 

最喜欢的模型

class Favorite extends InheritedModel<App, Figures, Item>

我收到此错误,所以想知道是否有办法声明 3 个参数。

The type 'InheritedModel' is declared with 1 type parameters, but 3 type arguments were given.
Try adjusting the number of type arguments to match the number of type parameters.da

我不确定我尝试做的方式在逻辑上是否正确,所以请告诉我并纠正我。

【问题讨论】:

也许mixin 是您需要的?这里有一些例子:Mixins in Dart 【参考方案1】:

我可能不了解您的模型层次结构是如何设置的,但也许您可以尝试一些组合,例如:

class CardModel 
  App app;
  Figures figures;
  Item item;


class FavoriteModel 
  App app;
  Figures figures;


class InheritedCard extends InheritedModel<CardModel> 

class InheritedFavorite extends InheritedModel<FavoriteModel> 

【讨论】:

以上是关于如何从 Flutter 中的不同模型继承多个类的主要内容,如果未能解决你的问题,请参考以下文章

Flutter/Dart - 类的继承

如何从多个模型中对数据进行排序/排序?

如何从 Listview.builder 中获取模型类 Flutter 的列表索引

如何从 Flutter 的列表中为模型类赋值? [复制]

flutter firebase google登录以及如何从多个类访问

Django:从带有元的抽象类的多重继承