在聚合类中实现连接

时间:2013-01-24 15:57:19

标签: uml aggregation class-diagram

在下图中,“Copy”类和“Book”类显示聚合(Book 具有复制)。所有其他类都是“复制”类的子类。现在,假设有一个Member类,它必须访问“复制”类的子类“Lending”和“Borrow”。 “Member”类唯一应该知道的是“accessionNumber”。

如果我们在代码方面考虑到这一点,我的“Book”类包含一个“Copy”数组。

enter image description here

我如何知道某本书的入藏号码?

假设我需要copies数组中第3本书的“accessionNumber”。但是数组在Book类中,并且与Book类中的Copy类没有任何关联。

如果我们创建一个连接,那就像“复制有一本书”,或更有意义的,像“主题有学生”(采取着名的聚合示例“学生有一个主题)?

1 个答案:

答案 0 :(得分:1)

  

如果我们创建一个连接,那就像“复制有一本书”

不,它不会。一个简单的dependency关系(例如C ++中的引用或非拥有指针)不是你从聚合或组合的强关联中获得的“拥有”或“拥有”关系。这听起来像你想要的。