我有一个如此简单的例子:
public class Order
{
private ArrayList<Product> orders = new ArrayList<Product>();
public void add(Product p)
{
orders.add(p);
}
}
这是聚合还是组合?我猜是组合,因为在删除订单后订单将被删除,对吗? 不幸的是,答案与我的猜测不同;/ 你知道为什么吗?
第二个问题:
public class Client extends Person
{
String adress = "";
Orders orders = new Orders();
public Client(String n, String sn)
{
name = n;
surName = sn;
}
public String getAddress()
{
return adress;
}
public Orders getOrders()
{
return this.orders;
}
}
这是客户和订单之间的关联吗?我的老师告诉我这是关联,但我想知道为什么它不是聚合/组合 - 他告诉我聚合或组合仅在一个类包含少量不同类的实例时发生 - 这是正确的吗?我想不是,因为例如汽车只包含一个轮子,它是聚合吧?
这是什么类型的关系,为什么?