ORACLE8UML对象建模设计14.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
下载 第14章 概 化 对象类之间通常有一些共性,这种共性可以是在属性、方法或关系上。当对象类之间存 在明显的共性时,就应该创建一个概化对象类。 当声明一个类是另外一个类的概化时,它被称为概化类,而另一个则称为特化类。特化 类继承概化类的所有属性和方法。在 E R D 中想表示这种类型的关系时,可以采用概化实体和 特化实体之间的一对一可选 / 强制关系。这种关系的传统描述是“ is a (是一个)”。例如, P e r s o n类是E m p l o y e e类的一个概化,意思是E m p l o y e e 继承了P e r s o n 的所有属性和方法。 概化最常见的用法是模拟用关系记号表示的子类。例如,要么是小时工( H o u r l y ),要么 是领薪水的雇员(S a l a r i e d ),可以如图1 4 - 1那样表示。 我们既可以采用图 1 4 - 1中的O r关系,也可以采用树状结构。图 1 4 - 1中的两个U M L 图式表 示了同样的情况,它们在语义上是等价的。无论哪种情况,雇员要么是领薪水的,要么是小 时工,区别仅仅是采用的记号不同。 图14-1 子类概化的U M L模型表示 14.1 概化的概念 利用概化的概念,我们可以声明一个制造项目( M f g . I t e m )是存货(I n v e n t o r y )、配件 (A s s e m b l y )和最终产品(Finished Good )的概化,其模型如图1 4 - 2所示。 在U M L 模型中,概化在某种程度上比 E R D 中的超类/子类关系要灵活一些。超类的 每个实例必须被实例化为其中一个子类的实 例。在U M L 中就不是这样了。如果想规定概 化类的对象必须被实例化为其中一个特化类 的实例的话,可以在概化类上应用模板 “ a b s t r a c t ”。这意味着概化类并不真正 地包括对象,而只是作为特化类的一个模板。 概化类的属性和方法由特化类继承,如图 1 4 - 3所示。 采用“ a b s t r a c t ”记号,图 1 4 - 3 中 图14-2 UML中的概化 第14章 概 化计计185 下载 的两个图式在语义上是等价的。如果存在一个可以充当很多角色( R o l e )的人,如既是客户 ( C u s t o m e r )又是雇员( E m p l o y e e ),或者是二者之一,表示这种情况的一种方法如图 1 4 - 4所 示。 图14-3 带抽象模板的概化 图14-4 采用多种角色表示类的图式 图14-5 表示角色的另一种模型 186计计第三部分 基 本 建 模 下载 图1 4 - 4 中的两个图式在语义上也是等价的。无论哪种情况,一个人可以是客户或雇员 也可以既是客户又是雇员。对于数据库中的人来说,他或她至少必须是客户或雇员之一。 在U M L 中,我们可以用 P e r s o n 类上的关键字“ a b s t r a c t ”表示这种约束,在 E R D 中没 有方法可以表示这种情况。然而,我们可以改变看待该模型的方式。与其说一个人要么是 客户,要么是雇员,还不如说一个人是具有特定类型的角色,这样可以把模型画成图 1 4 - 5 的样子。 本例中的两个图式在语义上是等价的,但是还存在一个问题,这些图式都不能避免一个 人充当多个客户或者雇员角色。判断哪个模型较好地表示了业务规则,需要具体情况具体分 析。 如果对同一个类有多种概化的方法,记住,虽然定义了概化类是抽象的,

文档评论(0)

july77 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档