其他分享
首页 > 其他分享> > 类图(Class Diagram)

类图(Class Diagram)

作者:互联网

在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