关联是建立在什么之间的一种手段
发布网友
发布时间:2024-03-14 13:03
我来回答
共1个回答
热心网友
时间:2024-03-14 17:50
关联关系
关联关系表示不同类的对象之间的结构关系,它在一段时间内将多个类的实例连接在一起(这与依赖关系不同,依赖关系表示两个实例之间的临时关联关系)。
您可以使用关联关系表示对象了解其他对象。有时,对象必须相互引用才能实现交互,例如互相发送消息。因此,在某些情况下,关联关系可以采用序列图和协作图中的交互模式。
关联关系名称
多数关联关系是二元的(即只存在于两个类之间),在图中表示为连接类符号对的实线路径。既可能是关联关系具有名称,也可能是各关联关系角色具有名称。最好采用角色名称,因为它们能表达更多信息。如果只能给其中一个角色命名,那么只要该关联关系将是单向的(即从与该角色名称相关的对象引出),角色名称仍比关联关系名称更可取。
关联关系通常是在分析过程中命名的,此时还没有足够的信息来对角色进行适当的命名。如果使用关联关系名称,关联关系名称就应该反映该关系的目的,并且应该是一个动词词组。关联关系名称应放置在关联关系路径上或其附近。
示例
在 ATM 中,钞箱提供出钞模块需要的钱。为了使出钞模块能够出钞,它必须随时能对钞箱对象进行引用。同样,如果钞箱中的现金被取尽,就必须通知出钞模块对象,所以钞箱必须随时能对出钞模块进行引用。有一种关联关系可对这种引用进行建模。
出钞模块和钞箱之间的关联关系,其名称为提供现金。
如果选择了不适当的关联关系名称,就会导致理解上的混乱和错误。以下是对关联关系名称使用好坏的正反示例:
好关联关系名称和坏关联关系名称示例
角色
关联关系的两端为角色,角色规定了类在关联关系中所起的作用。每个角色都必须有名称,而且对应一个类的所有角色名称都必须是唯一的。角色名称应该是一个名词,能够表达被关联关系对象的角色与关联关系对象之间的关系。例如,在与教程的关联关系中,教师的合适角色名称就可以是讲师;应避免使用“有”和“包含”之类的名称,因为它们不能提供有关类间关系的信息。
注意,关联关系名称和角色名称的使用是互斥的:不能同时使用关联关系名称和角色名称。角色名称通常比关联关系名称更可取,除非没有足够的信息来正确命名角色(这常见于分析阶段中;在设计阶段中应始终使用角色名称)。如果没有好的角色名称,通常都意味模型不完善或构建不合理。