对象列表的单独类

本文关键字:单独类 列表 对象 | 更新日期: 2023-09-27 18:34:33

>我有一个活动记录模式的类。让我们称之为"汽车"。所以我有我所有的方法,如插入、更新等,但它们仅适用于单个对象。如果我想处理这些对象的列表怎么办?我是否应该创建一个单独的类,比如说"CarCollection",用于处理 Car 对象列表?还是应该在我的 Car 类中创建一个将返回 Car 对象列表的方法?我是 OOP 的初学者,但第二个选项(返回列表的方法(似乎有点错误。

感谢您的回答。

对象列表的单独类

正如你自己所说:你必须使用一系列汽车。问题是您要在哪个类中存储此列表。

当您只是将其用作独立示例时,可以将集合存储在保存 main 方法的类中。实际上,您可能会有一个类Dealership或类似的东西,逻辑上包含汽车列表。

还有其他可能性,例如特定于对对象列表(如CarManager(执行操作的类,但应谨慎使用它们。

不是活动记录模式的忠实粉丝,但如果你走这条路,我希望返回多辆车的方法仍然存在于你的Car类中 - 你不会使用单独的类。

这似乎是Rails的做法。

使用数组、列表或字典是标准做法。我喜欢使用字典,因为将类与唯一条目链接在一起非常快。

创建一个名为 car 的类(不是结构(。

您可以在字典中使用它来启用主唯一键加速。

Public class Car
{
 public string id;
 public string name;
}

创造:

Dictionary<string, Car> carList = new Dictionary<string, Car>();

您可以在方法中添加它并将其作为参数传递或创建全局(根据您的应用程序(

要添加:

Car car = new Car(){id = "1", Name="car1"};
carList[car.id] = car;

您可以使用 Linq 将类链接在一起(几乎与 SQL 类似(:基本 LINQ 查询