小编Buk*_*cen的帖子

聚合,关联和组合

我有一个简单的例子:

public class Order 
{

 private ArrayList<Product> orders = new ArrayList<Product>();

 public void add(Product p)
 {
  orders.add(p);
 }
}
Run Code Online (Sandbox Code Playgroud)

它是聚合还是组合?我想这是构图,因为删除订单后订单会减少,对吗?不幸的是,这是一项任务,答案是不同的; /你知道为什么吗?

第二个问题:

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; 
    }
}
Run Code Online (Sandbox Code Playgroud)

它是客户和订单之间的关联吗?我的老师告诉我这是关联,但我想知道为什么它不是聚合/组合 - 他告诉我只有当一个类包含很少的不同类的实例时才会发生聚合或组合 - 是吗?我猜不是,因为例如汽车包含一个轮子和它的聚合我猜?

这是什么类型的关系,为什么?

java

4
推荐指数
2
解决办法
3万
查看次数

标签 统计

java ×1