UML 类图 Class Diagram.docVIP

  1. 1、本文档共3页,可阅读全部内容。
  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文档。上传文档
查看更多
A.0、Class Diagram(类图) 类图是类和它们之间的关系描述系统的一种图,是从静态角度表示系统,是静态模型。类图是其它图 A.1、类图的模型元素 Package(包)、Class(类)、Interface(接口) B、类之间的关系 B.1、Associate、Association(关联) 用于描述类与类之间的连接。有”user a”的含义。 关联关系表明两个模型元素之间有关系,通常作为一个类的实例变量来实现。这个连接在每一端都包含一个已命名的角色(这个角色具有多样性、方向性和约束性)。 当代码是由类图生成的,关联关系会在目的类中变成一个实例变量。 关联关系还可在Package, Object, Communication, Data Modeling, Deployment图中使用。 B.2、Association Class(关联类) 关联类连接是一个UML概念,它使一个关系连接有属性和操作(特征)。这样的结果是一个连接有一个类的混合关系。 B.3、Aggregate、Aggregation(聚合) 是关联的特例。是指类与类之间有“整体和部分”的特点。部分脱离整体,部分仍有意义。有”has a”的含义。是共享式的。 B.4、Compose、Composition(组合) 也是指类与类之间有“整体和部分”的特点。而Composition中的部分脱离了整体,部分将没有任何意义,是独占式的。 B.5、Generalize、Generalization(概括) 在类图中概括就是继承。 B.6、Realize、Realization(实现) 实现是指一个模型元素(类)是另一个模型元素(接口)的实现。 B.7、Dependency(依赖) 依赖表示两个或多个模型元素之间语义上的关系。 下面两种情况属于依赖关系: B作为一个参数被传递给A中所定义的一个方法(参数可见性); B在A的一个方法中被声明为局部对象(局部声明可见性); 而关联一般应描述为普通的属性(B是A的一个属性,是一种相对长久的可见性) B.8、Permission Dependency(授权依赖) 授权依赖表示一个事物访问另一个事物的能力。提供者通过规定客户的权限,可以控制和限制对其内容访问的方法。 B.9、Usage Dependency(使用依赖) 使用依赖都是非常直接的,通常表示客户使用提供者提供的服务以实现它的行为。 C、详细说明 C.1、Association、Aggregation、Composition三种关系比较 从代码实现的角度上讲:三者都是以属性出现,其中Association中作为属性出现时,不需要对其进行强制赋值,只要在使用是对其进行初始化即可。Aggregation中作为属性出现时,需要在构造器中通过传递参数来对其进行初始化。Composition中作为属性出现时,需要在整体的构造器中创建部分的具体实例,完成对其的实例化。 从数据库的层面上来讲:Association不需要被级联删除,Aggregation不需要被级联删除,Composition是需要被级联删除的。 C.2、举例说明Aggregation和Composition的区别 举例说明从代码实现的角度上讲Aggregation和Composition的区别。 //Aggregation relationship public class Computer{ private String cpu; private Monitor aMonitor; public Computer(String cpu, float weight, Monitor aMonitor){ this.cpu=cpu; this.aMonitor=aMonitor; } } class Monitor{ private int inch; private boolean isFlat; //no information of computer 单向关系 public Monitor(int inch, boolean isFlat){ this.inch=inch; this.isFlat=isFlat; } } //Composition relationship public class Computer{ private String cpu; private Monitor aMonitor; public Computer(String cpu, float weight, int inch, boolean isFlat){ this.cpu=cpu; this.weight=weight; this.aMon

文档评论(0)

PPT精品 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档