【发布时间】:2013-01-08 10:51:09
【问题描述】:
在下图中,“Copy”类和“Book”类显示了一个聚合(Book 有一个 Copy)。所有其他类都是“复制”类的子类。现在,假设有一个Member 类,它必须访问类“Copy”的子类“Lending”和“Borrow”。 'Member' 类唯一应该知道的是“accessionNumber”。
如果我们从代码的角度考虑这一点,我的“Book”类包含一个“Copy”数组。
我如何知道某本书的入藏号?
假设我需要copies 数组中第三本书的“accessionNumber”。但是数组在Book 类中,并且与Book 类没有从Copy 类的连接。
如果我们创建一个返回连接,会不会像“Copy has a Book”,或者更有意义的是,像“Subject has Student”(以著名的聚合示例“Student has a Subject )?
【问题讨论】:
-
@LuchianGrigore:因为这可以在其中任何一个中实现。如果有人能够使用 Java(它是我的母语),那么我可以将它转换回 C++,因为这正是它的处理方式
-
您可以随时使用 SQL 方式创建一个将 Book 和 Copy 链接在一起的类。然而,这在 C++ 程序中很少有用。
-
@BartekBanachewicz:嗨,你的意思是我需要一个数据库?我不允许
-
不,我的意思是你可以模仿数据库结构,因为这些类看起来很像数据库对象。另外,请注意 ^up - 这里有 很多 非常有名的人。欢迎来到 SO。
-
@BartekBanachewicz:感谢您的回复。能否请您创建一个图表、代码或类似的东西?将不胜感激:)
标签: uml aggregation class-diagram