UML常见图标总结

类包括类名、属性和方法三个部分,并被横线分割开来。

类名:Employee

属性:name, age, email

方法:modifyInfo()

其中的符号(+-#)的意义为:

+public

-private

#:protected

属性的完整表示为  可见性 名称:类型 [ = 缺省值] 中括号中的内容可选

方法的完整表示为  可见性 名称(参数列表)[ : 返回类型] 中括号中的内容可选。

比如上图中的类,定义了三个方法:

Public method1()接收一个Object的参数,返回值类型为void

Protected方法method2()无参数,返回值类型为String

Private方法method3()接收类型分别为intint[]的参数,返回值类型为int

类与类之间关系的表达方式

关联关系,包括单向关联,双向关联和自关联。

单向关联

https://i-blog.csdnimg.cn/blog_migrate/5fc3213e111845260e120a40357f3156.jpeg

单向关联用单箭头直线表示。如上图,每个顾客都有一个地址,这通过让Customer类持有一个类型为Address的成员变量类实现。

双向关联

https://i-blog.csdnimg.cn/blog_migrate/11b876a04cdaf6e4ac375695efadd1fe.jpeg

双向关联用直线表示,即双方都有对方类型的成员变量。如上图,Customer类中有一个product[]数组,表示一个顾客购买了哪些产品;product类中维护一个Customer类型的成员变量表示这个产品被哪个顾客所购买。

自关联

https://i-blog.csdnimg.cn/blog_migrate/78657a6a18bc3a95675f219957690b1a.jpeg

自关联用指向自己的直线表示。如上图,Node类包含类型为Node的成员变量,自己包含自己。

聚合关系

https://i-blog.csdnimg.cn/blog_migrate/68e029bc1c7a8007c457e7d914dcbde5.jpeg

聚合关系用空心菱形和箭头直线表示。强调的是整体包含部分,但是部分可以脱离整体单独存在。比如汽车包含发动机,发动机脱离汽车也能单独存在。

组合关系

https://i-blog.csdnimg.cn/blog_migrate/a9681241e6783fc5ac00d805ba7658ec.jpeg

与聚合关系相比,组合关系中的部分脱离了整体便不复存在。

依赖关系

https://i-blog.csdnimg.cn/blog_migrate/61e1bbdef76af34f2a4062a115cfabb1.jpeg

依赖关系用带箭头的虚线表示。如上图中Driver中的drive只有导入一个Car对象才能发挥作用,因此Driver类依赖于Car类。

继承关系

https://i-blog.csdnimg.cn/blog_migrate/0d5cced558776c77b74b171f45795b2a.jpeg

继承关系用空心三角直线表示,如上图中StudentTeacher都继承了Person类。

接口实现关系

https://i-blog.csdnimg.cn/blog_migrate/d6d6215a8e531e4c18798f4ac0028de4.jpeg

接口实现关系用带空心三角的虚线表示,如上图Car与Ship都实现了Vehicle的接口。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值