Uml 类图
类
类名在图的上部分
image-20190530171531219.png类的属性
在图的中间部分部分
-
+: 表示public
-
-: 表示private
-
#: 表示protected(friendly也归入这类)
类方法
在图的下部分
-
+: 表示public
-
-: 表示private
-
\ #: 表示protected(friendly也归入这类)
-
params 表示参数
-
:之后表示返回类型
类与类之间的关系
泛化关系(generalization)
image-20190530182335810.png如图所示,designer属于account。有is a的意思,就是designer 是一个账户,但是不仅仅是一个账户,还是一个degisner的账户
实现关系(realize)
实现关系用一条带空心箭头的虚线表示;
image-20190530182412806.png比如图中,account单独存在没有意义,是一个抽象类。于此同时designer才是一个有account能够实例话的类,是designer的account
聚合关系(aggregation)
聚合关系用一条带空心菱形箭头的直线表示,图中表示team由advitiser组成
image-20190530183158997.png聚合关系用于表示实体对象之间的关系,表示整体由部分构成的语义;例如一个部门由多个员工组成;
与组合关系不同的是,整体和部分不是强依赖的,即使整体不存在了,部分仍然存在;例如, 部门撤销了,人员不会消失,他们依然存在;
组合关系(composition)
组合关系用一条带实心菱形箭头直线表示,如下图表示asset由task组成;
image-20190530191328875.png与聚合关系一样,组合关系同样表示整体由部分构成的语义;比如公司由多个部门组成;
但组合关系是一种强依赖的特殊聚合关系,如果整体不存在了,则部分也不存在了;例如, 公司不存在了,部门也将不存在了;
单向关联关系(association)
关联关系是用一条直线表示的;它描述不同类的对象之间的结构关系;它是一种静态关系, 通常与运行状态无关,一般由常识等因素决定的;它一般用来定义对象之间静态的、天然的结构; 所以,关联关系是一种“强关联”的关系;
比如,乘车人和车票之间就是一种关联关系;学生和学校就是一种关联关系;
关联关系默认不强调方向,表示对象间相互知道;如果特别强调方向,如下图,表示account知道authorize,但 authorize不知道account;
image-20190530183815909.png双向关联关系
与单项关联不通,这里designer知道deal,deal知道designer
image-20190530184551068.png自关联关系
image-20190530185015725.png自关联在UML类图中用一个带有箭头且指向自身的直线表示。上图的意思就是Node类包含类型为Node的成员变量,也就是“自己包含自己”。
网友评论