初试UML

UML第一个实例

一.概念

UML是Unified Modeling Language的缩写,统一建模语言。UML为面向对象开发系统的产品进行说明、可视化和编制文档的一种标准语言。

二.类间的关系

强弱关系依次为:组合>聚合>关联>依赖

1、依赖:

表现在代码层面,为类B作为***参数***被类A在某个method方法中使用。

一个类A 使用另一个类B,而这种使用关系是具有偶然性的、临时性的、非常弱的,但是B类的变化会影响到A。

2、关联:

表现在代码层面,为被关联类B以***类属性***的形式出现在关联类A中,也可能是关联类A引用了一个类型为被关联类B的***全局变量***。

体现的是两个类、或者类与接口之间语义级别的一种强依赖关系,这种关系比依赖更强,不存在依赖关系的偶然性,关系也不是临时性的,一般是长期性的,而且双方的关系一般是平等的,关联可以是单向、双向的。

3、聚合:

聚合是关联关系的一种特例,体现的是整体与部分、拥有的关系,即***has-a***的关系,此时整体与部分之间是可分离的,它们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享。

举个例子:代码中有个ArrayList叫“雁群”A,用于无逻辑、无规则地存储大雁,而“雁群”其中的一只大雁叫B,此时:A可以包含B,但B不是A的一部分(个人理解:B只是刚好存放在A中,并无其他逻辑或规则上的联系。或者说缺失了大雁B的雁群依然是雁群,没有影响。即“可以包含”,但“不是一部分”的说法)。

4、组合:

组合也是关联关系的一种特例,体现的是一种***contain-a***的关系,这种关系比聚合更强,也称为强聚合;同样体现整体与部分的关系,此时整体与部分是不可分的,整体的生命周期结束也就意味着部分在生命周期结束。

三.表现形式

1.符号:

  • 继承类:空心三角形+实线
  • 实现接口:空心三角形+虚线
  • 依赖:虚线箭头
  • 关联:实线箭头
  • 聚合:空心菱形+实线箭头
  • 组合:实心菱形+实线箭头
  • 关联、聚合、组合都可以有基数。

2.UML类图:

类图是一个矩形框,分为三层,第一层显示类的名称,如果是抽象类,则用斜体显示。第二层是类的特性,通常就是字段和属性。第三层就是类的操作,通常是方法或行为。前面的符号,“+”表示public,“-”表示private,“#”表示protected。

3.UML接口图:

与类图的区别主要是顶端有<< interface >>显示。第一层是接口名称,第二层是接口方法。接口还有另外一种表示方法,俗称“棒棒糖表示法”(见:https://wenku.baidu.com/view/fd2b4be3856a561252d36f12.html#)

四.工具推荐

亿图图示(https://www.edrawsoft.cn/)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值