ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

类图(Class Diagram)

2022-04-27 23:31:55  阅读:174  来源: 互联网

标签:关系 .. 实线 对象 类图 关联 Diagram 实例 Class


在UML类图中,类与类之间的关系分别有:依赖<关联<聚合<组合、继承、实现。

1、依赖关系(Dependency)用带箭头的虚线表示。一个事物的改变可能影响到使用它的另一个事物,即表示一个事物使用另一个事物时使用依赖关系。如:作为传参、作为局部变量、调用静态方法。

2、关联关系(Association)用带箭头的实线表示。一类对象与另一类对象之间的联系,在Java中通常表示一个类的对象作为另一个类的成员变量(属性)。在UML类图中关联有四种形式:双向关联、单向关联、自关联、多重性关联。

(1)双向关联的类的实例,互相持有对方的实例,如数据库管理员(DBA)可以管理多个数据库(DB),因此DBA将DB的实例作为自己的属性;而同时每个数据库(DB)都被某位管理员(DBA)进行管理,因此DB也将DBA的实例作为自己的属性。建议用不带箭头的实线表示,并在两头写明两者之间的关系。

(2)单向关联是一方持有另一方的实例。

(3)自关联的箭头指向自己,其属性就是该类本身,如链表结点类中,每个结点持有下一结点的实例。

(4)多重性关联表示两个对象在数量上的对应关系,有:1..1、0..*、1..*、0..1、m..n。

例如一个网页可能没有可点击按钮,也可能有多个按钮,但是该页面中的一个按钮只属于该页面。

3、聚合关系(Aggregation)用带箭头的实线,实线起点为空心菱形表示。部分对象是整体对象的一部分,但是部分对象可以脱离整体对象独立存在,也即整体对象并不控制部分对象的生命周期。从代码实现上来讲,部分对象不由整体对象创建,一般通过整体类的带参构造方法或Setter方法或其它业务方法注入到整体对象。如图书馆与图书、雁群与大雁之间的关系。

4、组合关系(Composition)用带箭头的实线,实线起点为实心菱形表示。整体对象控制成员对象的生命周期,一旦整体对象不存在了,成员对象也即随之消亡。从代码实现上看,一般在整体类的构造方法中直接实例化成员类,并且除整体类对象外,其它类的对象无法获取该对象的引用。如人与脚、汽车与轮胎之间的关系。

5、继承关系(Generalization,也称泛化关系)用实线空心三角形表示。在Java中用关键字extends实现。

6、实现关系(Realization)用虚线空心三角形表示。在Java中用关键字implements实现。

标签:关系,..,实线,对象,类图,关联,Diagram,实例,Class
来源: https://www.cnblogs.com/hanselhuang/p/ClassDiagram.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有