UML-类图.pptVIP

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
UML-类图

识别类之间的关联 ——关联的几种表现形式 8.2.1 关联 关联的种类 自返关联 二元关联 N元关联 8.2.1 关联 自返关联 8.2.1 关联 二元关联和N元关联,大多数N元关联经过细致分析,都可转成二元关联。 Rose2003不能直接表示N元关联。 一个人在一个项目中可以使用多种开发语言; 一个项目中使用某种语言的可以有多个开发者; 一个开发者用某种语言可以开发多个项目。 Project Language Person programmer n n n 8.2.2 泛化 Generalization,一般元素和特殊元素之间的关系。即OO语言中,类之间的继承关系 斜体表示 抽象类 8.2.2 泛化 泛化的目的 自顶向下的属性继承。可以使得子类共享父类的属性和操作,实现继承。 自底向上的实例替换。可以使得子类的实例用于任何父类被声明使用的地方,实现多态。(派一个人来开会。学生、老师都可去开会。派一个老师来开会,若替换为派一个人去开会则有歧义) 继承 Rose中可以看到之类已继承了父类的属性 private、implementation属性不被继承 public、protected属性可被继承 多态 尽管每个之类的实现方法不同,但外界调用方式完全一样 oLine-draw(); 8.2.2 泛化 抽象类(abstract,斜体表示):不能产生实例的类,因为类中的方法往往只是声明,而没有具体实现。 识别类之间的泛化 ——识别思路 A的对象总是B的对象,B的对象也总是A的对象 A的对象总是B的对象,B的对象有时是A的对象(*) A的对象从来不是B的对象,B的对象也从来不是A的对象 A和B之间有一些共同的属性(*) 8.2.3 依赖 一个元素B的改变会影响另外一个元素A,则称A依赖于B,二者之间存在依赖关系。(P98) 客户 提供者 stereotype 8.2.4 实现 一个元素完成另外一个元素的操作功能,则二者之间构成实现关系。 如接口类及其实现;接口没有属性,只有声明的操作方法(对于方法没有实现部分),而由实现类具体定义实现部分。 * * * * 统一建模语言 类图 重点: 类、属性、操作及其性质 类间关系及其性质 OO思想 OO思想 8.1 类的定义 什么是类(class) 具有相似结构、行为和关系的一组对象的描述符 类的组成 属性 操作 UML中,类表示为划分 为三格的矩形 例,图形类Shape 8.1.1 属性 属性的格式 [可见性] 属性名 [:类型][‘[’多重性[次序]’]’][=缺省值][{特性}] 可见性:可访问性 多重性:属性值个数格式 次序:属性值顺序 特性:对该属性性质的一个约束说明,如{只读} 选取类的属性时只考虑系统用到的特征,不必将所有属性都表示出来,原则上,由类的属性应能区分每个特定的对象。 8.1.1 属性 可见性 属性的可访问性,四类: 公共(public) 私有(private) 保护(protected) 实现(implementation) 子类无法继承和访问父类的私有属性和实现属性 8.1.1 属性 举例 [可见性] 属性名 [:类型][‘[’多重性[次序]’]’][=缺省值][{特性}] + size: Area =(100,100) # visibility: Boolean =false - origin : Point colors: color[3] Points: Point[2..* ordered] Name: String[0..2] 8.1.2 操作 标准格式: [可见性] 操作名[ (参数列表) ] [: 返回值类型][{特性}] 例: +display() #create() -attachXWindow(xwin:XWindowPtr) +getname():String 提问:为何要规定可见性? 信息隐藏(封装),双向保护 如何阅读类图 先看清有哪些类 然后看类之间的关系 结合多重性来理解类图的结构特点以及各属性、方法的含义 阅读过程 找出类 Order、OrderItem、Customer、Consignee、DeliverOrder、Peddlery、Product 找出关系 从图中关系最复杂(也就是线最密集)的类开始阅读,如Order类 OerderItem和Order之间是组合关系,根据箭头方向可知Order包含了OrderItem Order类和Customer、Consign

文档评论(0)

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

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

1亿VIP精品文档

相关文档