我可以在下面的示例中实现Car类。我可以将带轮子的集合传递给品牌映射,但有更好的方法吗?
一辆汽车有一个发动机和一些轮子。并非所有的汽车都是用来装四个轮子的,有些只有三个,而有些则有更多。但无论它们是为什么建造的,那就是它们可以容纳的最大数量。当汽车建造(即建造)时,会为它创造一个发动机,它将使用它的轮子。
答案 0 :(得分:4)
public class Car
{
private Engine e;
private int numWheels;
private List<Wheel> wheels;
public Car(Engine e, int numWheels, ...)
{
this.e = e;
this.numWheels = numWheels;
this.wheels = new ArrayList<>();
for(int i = 0; i < this.numWheels; i++)
{
this.wheels.add(new Wheel(...));
}
}
}
只需添加一个整数即可保存Car对象可以拥有的轮数。然后在构造函数中循环并添加那些轮子
答案 1 :(得分:0)
有很多方法可以做到这一点,但没有足够的信息可以说哪个更好。
我建议你做你认为最简单,最清晰的事情,如果传递一个集合适合你,那就去做吧。