8、关联与类关系的深入解析

关联与类关系的深入解析

1. 关联中的角色

在复杂的模型里,一个类可能会参与多个关联。比如,“Person”类与“Book”类存在两种不同的关联。一种关联表明“Person”是书籍的作者,通过“Wrote”关联体现;另一种关联表示“Person”是书籍的读者,由“Read”关联表示。在这些关联中,角色就显得尤为重要。

角色是半关联中为对立类提供的特定名称。例如,在“Book.IsWrittenBy”半关联中,“Person”类可被称为“Author”;而被人所写的书则被称为“Work”。不过,并非所有半关联都需要角色,只有当角色名称能轻松得出且能为模型增添信息时,才应使用角色。

使用角色时,需遵循以下规则:
- 角色名称首字母大写,且单词间无空格。
- 角色名称需为可数名词的单数形式,如同类名一样。
- 角色应写在其所指类的旁边。

角色可以融入半关联的读取机制。例如,对于“Wrote”半关联,可表述为“每个人员写了零到多本书,这些书是他们的作品”,或者“每个人员写了零到多个作品,这些作品是书”。同时,要注意在给定类中,角色不能重复。

2. 属性与关联的区别

部分建模语言未对属性和关联进行区分。像UML中,类的属性在很多方面被视为该类到相应数据类型的关联;CIDOC CRM中,类只有“属性”,这些属性可能是与其他类或数据类型(如E26 String或E60 Number)的连接。

然而,将属性和关联混为一谈虽看似能简化建模语言,但存在严重弊端。从概念上讲,类代表与模型相关的类别,在特定的论述领域有意义;而数据类型独立于所建模的领域,具有通用性。因此,应针对不同事物采用不

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值