【转载】UML类图知识整理
2016-07-21 20:49
190 查看
原文:UML类图知识整理
这里简单整理
实现(realize) : 一条带空心箭头的虚线表示
泛化在Java中表现为继承(extends) ,
实现在Android中表现为
简单来说,类A用到了类B,就可以说A依赖于B
依赖关系是一种临时性的偶然性的关系,通常在运行期间产生,并且随着运行时的变化; 依赖关系也可能发生变化
代码中的表现:比如方法的入参,构造方法的参数
它描述不同类的对象之间的结构关系;体现的是两个类、或者类与接口之间语义级别的一种强依赖关系
代码中的表现:关联对象通常是以成员变量的形式实现的
聚合关系是关联关系的特例,它用于表示实体对象之间的关系,表示整体由部分构成的语义;是
例如一个部门由多个员工组成;
与组合关系不同的是,整体和部分不是强依赖的,整体与部分之间是可分离的,即使整体不存在了,部分仍然存在;
例如, 部门撤销了,人员不会消失,他们依然存在
组合关系是一种强依赖的特殊聚合关系,是
关系强度:组合>聚合>关联>依赖
属性的表达方式:可见性 名称:类型 [ = 缺省值 ]
方法的表达方式:可见性 名称(参数列表) [ : 返回类型]
可见性:
另外:UML图中的斜体表示抽象
释义:
释义:
员工与工号相关联,员工聚合成部门,部门组成公司。
部门解散了员工依然存在(所以是聚合),而公司倒闭,部门也就不存在了(所以是组成)。
UML类图
UML,进阶必备专业技能,看不懂UML就会看不懂那些优秀的资料。这里简单整理
类之间的关系
泛化关系(generalization)
泛化(generalize): 一条带空心箭头的线表示实现(realize) : 一条带空心箭头的虚线表示
泛化在Java中表现为继承(extends) ,
is-a的关系
实现在Android中表现为
implements接口,或者
extends抽象类
依赖关系(dependency)
用一条带箭头的虚线表示;箭头的指向为调用关系简单来说,类A用到了类B,就可以说A依赖于B
依赖关系是一种临时性的偶然性的关系,通常在运行期间产生,并且随着运行时的变化; 依赖关系也可能发生变化
代码中的表现:比如方法的入参,构造方法的参数
关联关系(association)
用一条直线表示它描述不同类的对象之间的结构关系;体现的是两个类、或者类与接口之间语义级别的一种强依赖关系
代码中的表现:关联对象通常是以成员变量的形式实现的
聚合关系(aggregation)
一条带空心菱形箭头的直线表示聚合关系是关联关系的特例,它用于表示实体对象之间的关系,表示整体由部分构成的语义;是
has-a的关系;
例如一个部门由多个员工组成;
与组合关系不同的是,整体和部分不是强依赖的,整体与部分之间是可分离的,即使整体不存在了,部分仍然存在;
例如, 部门撤销了,人员不会消失,他们依然存在
组合关系(composition)
用一条带实心菱形箭头直线表示组合关系是一种强依赖的特殊聚合关系,是
contains-a的关系,比聚合更强,也称为强聚合,如果整体不存在了,则部分也不存在
注意点
聚合跟组合其实都属于关联关系强度:组合>聚合>关联>依赖
类的方法与属性
类可以拥有多个方法和属性属性的表达方式:可见性 名称:类型 [ = 缺省值 ]
方法的表达方式:可见性 名称(参数列表) [ : 返回类型]
可见性:
+public
-private
#protected
~package
另外:UML图中的斜体表示抽象
示例
释义:
ViewGroup是一个
View,也是一个
ViewParent,依赖于
MotionEvent(在
onTouch(MotionEvent)等方法)
释义:
员工与工号相关联,员工聚合成部门,部门组成公司。
部门解散了员工依然存在(所以是聚合),而公司倒闭,部门也就不存在了(所以是组成)。
相关文章推荐
- hdu-5738 Eureka(组合计数+极角排序)
- 基础数学1007 LightOJ 1236
- HDU 5745 La Vie en rose(暴力碾压过去。。。)
- 线段树难题--史上最大值nkoj3726
- 关于Draw Call与SetPass Call的优化备忘录
- nyoj 123 士兵杀敌(四)<经典树状数组---插线求点>
- ORACLE的检查点(checkpoint)
- 【日常练习 DP入门】HDU 1176免费馅饼(数塔变式)
- 基础数学1006 LightOJ 1245
- C++ 用libcurl库进行http通讯网络编程
- ActiveMQ简介
- 【 Codeforces 612B 】 HDD is Outdated Technology
- 关于windows下c/c++的rand()的一个测试
- PROJ4编译与使用(Windows平台)
- 知数堂《MySQL 5.7 Replication新特性》分享之互动问题解答
- 策略模式——时势造英雄
- 基础数学1005 LightOJ 1282
- UVA - 133 The Dole Queue
- Hdu 5451 Best Solver(快速幂取模+循环节) -2015 ACM-ICPC沈阳网赛1002
- spark-submit 提交 spark-examples-1.6.1-hadoop2.6.0.jar