这里给出了一个关联类的示例:
http://pic.dhe.ibm.com/infocenter/rsarthlp/v9/index.jsp?topic=%2Fcom.ibm.xtools.modeler.doc%2Ftopics%2Fcassnclss.html
组合和聚合也是关联的类型,只是对关联所包含的内容定义了更多的语义。
关联类也可以通过组合或聚合成为关系的一部分吗?也就是说,在两个实体之间存在着多到多的关系的情况下,这种关系有一些附加的属性。或者,将这种关系建模为两个独立的一对多的关系到一个包含附加属性的中间实体上是否更正确呢?
发布于 2014-08-04 23:14:25
“关联类”的UML概念是有问题的(就其语义和可用性而言),我建议不要使用它,但总是明确地表示表示关联的类,将它与参与的对象类连接到多对一的关联。
在您的问题中引用的有缺陷的IBM示例Student
-Enrollment
-Course
说明了“关联类”概念的可疑可用性。在此示例中,与所述情况相反,如果Enrollment
表示提供课程的一般概念(没有学期信息),则Course
不能成为“关联类”,因为“关联类”只允许同一参与者对象(学生和课程)之间的一个链接,而域语义要求学生可以重复参加一门课程,这意味着同一学生和同一课程之间有多个注册链接。
https://softwareengineering.stackexchange.com/questions/250091
复制相似问题