在下图中,“Copy”类和“Book”类显示聚合(Book 具有复制)。所有其他类都是“复制”类的子类。现在,假设有一个Member
类,它必须访问“复制”类的子类“Lending”和“Borrow”。 “Member
”类唯一应该知道的是“accessionNumber”。
如果我们在代码方面考虑到这一点,我的“Book
”类包含一个“Copy
”数组。
我如何知道某本书的入藏号码?
假设我需要copies
数组中第3本书的“accessionNumber”。但是数组在Book
类中,并且与Book
类中的Copy
类没有任何关联。
如果我们创建一个连接,那就像“复制有一本书”,或更有意义的,像“主题有学生”(采取着名的聚合示例“学生有一个主题)?
答案 0 :(得分:1)
不,它不会。一个简单的dependency关系(例如C ++中的引用或非拥有指针)不是你从聚合或组合的强关联中获得的“拥有”或“拥有”关系。这听起来像你想要的。如果我们创建一个连接,那就像“复制有一本书”