0

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

感谢您的回答。

4

3 回答 3

2

正如您自己所说:您将不得不使用一系列汽车。问题是您将在哪个班级存储此列表。

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

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

于 2013-10-08T22:52:49.260 回答
0

不是活动记录模式的忠实拥护者,但是如果您要走这条路,我希望返回多辆汽车的方法仍然存在于您的Car班级中-您不会使用单独的班级。

这似乎是Rails的做法。

于 2013-10-08T22:54:34.590 回答
0

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

创建一个名为 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 查询

于 2013-10-08T23:01:05.307 回答