作为 Flutter 中另一个类的参数的类列表

Posted

技术标签:

【中文标题】作为 Flutter 中另一个类的参数的类列表【英文标题】:List of classes as an argument for another class in Flutter 【发布时间】:2021-07-05 15:32:20 【问题描述】:

我对颤动有点陌生,我认为我在 1 个字段上缺少正确的语法。我试过搜索一个例子,但我认为我用错了词。任何帮助将不胜感激。

我有 2 个类,工作和任务,其中一个工作由许多任务组成。

class Job 
  int jobID;
  //List task_list; this is where I am having issues
  String imgageURL
  String jobName;

  Job(
   this.jobId,
   this.task_list,
   this.imageURL,
   this.jobName,
  );

 

class Task
   int taskID;
   String imageURL;
   String name;
   String type;
   int taskTime;

  Task(
    this.taskID,
    this.imageURL,
    this.name,
    this.type,
    this.taskTime,
  )

我尝试定义所有任务,然后将它们分配给一个列表,但我不确定是否将其传递给作业。我希望这份名单可以增长,因为有些工作会有更多的任务。但现在我只添加了 3 个。

final List<Task> all_tasks= [_task1,_task2,_task3];

最终,我希望能够将所有数据从分配的任务传递给它的父作业,以便可以根据需要在作业中访问它。我曾考虑将所有字段添加到任务中,然后只列出一个任务列表,但我要为作业分配更多字段,然后在每个任务中重复这些字段,这似乎很浪费。

是否可以在作业类或数组中做一个列表?我觉得我错过了一些明显的东西。

希望这是有道理的。

【问题讨论】:

【参考方案1】:

你快到了;我认为这应该可行:

class Job 
  int jobID;
  List<Task> task_list;
  String imageURL;
  String jobName;

  Job(
   this.jobId,
   this.task_list,
   this.imageURL,
   this.jobName,
  );

 

class Task
   int taskID;
   String imageURL;
   String name;
   String type;
   int taskTime;

  Task(
    this.taskID,
    this.imageURL,
    this.name,
    this.type,
    this.taskTime,
  )


final int myId = 1234;
final List<Task> all_tasks= [_task1,_task2,_task3];
final String myUrl = 'www.***.com';
final String myJobName = 'developer';
final Job myJob = Job(myId, all_tasks, myUrl, myJobName);

List 的类型几乎可以是任何类;把它放在之间。如果列表元素可以是变量类型,则可以使用List。

【讨论】:

以上是关于作为 Flutter 中另一个类的参数的类列表的主要内容,如果未能解决你的问题,请参考以下文章

检查一个对象的类是不是派生自C++中另一个对象的类

在具有 C++ 中另一个类型的类中声明属性 [重复]

Python 类的 init 函数将自己的类的实例作为默认参数

StateObject 作为 init() 中另一个对象的参数

使用同一 Dataframe 中另一列的 int 作为索引获取列中的列表值

使用 Linq 反对,我怎样才能获得基于同一列表中另一个字段的值