UML(Unified Modeling Language)中文统一建模语言,是一种开放的方法,用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的制品的开放方法。

类之间的关系

在UML类图中类与类之间存在多种关系,如泛化(Generalization)关系,实现(Realization)关系,依赖(Dependence)关系,关联(Association)关系,聚合(Aggregation)关系, 组合(Composition)关系。

泛化(Generalization)关系

泛化关系也就是Java中的继承,在UML中,泛化关系可以用带空心三角形的直线来表示

实现(Realization)关系

实现关系在java中就是一个类和接口之间的关系,接口中一般是没有成员变量,所有操作都是抽象的(abstract修饰),只有声明没有具体的实现,具体实现需在实现该接口的类中。在UML中用与类的表示法类似的方式表示接口,区别可在UML中类图中看出。

在UML中实现接口用虚线和带空心的三角形表示。则上面对应的UML类图如下

依赖(Dependence)关系

依赖关系是类与类之间最弱的关系,依赖可以简单的理解一个类使用了另一个类,这种使用关系具有临时性特征,但是一个类又会由于另一个类的改变而受到影响

在UML中一栏用带箭头的虚线表示依赖,对应的UML类图如下

关联(Association)关系

关联关系表示一个类和另一类有联系

关联关系是一种包含关系,在UML中用一个带箭头的实线表示,箭头指向被包含类

聚合(Aggregation)关系

聚合关系是表示整体与部分的关系,但是部分可以脱离整体而存在。

在UML类中聚合关系用带空心菱形的直线表示。

组合(Composition)关系

组合关系也是一种部分和整体的关系,但是部分存活周期受到整体的影响,若整体不存在则部分也将不存在。此时部分需在整体的构造方法中创建。在UML类中,组合关系用带实心菱形的直线表示。

整体UML图

转载网址:http://blog.csdn.net/xiehuimx/article/details/53427452

最新文章

  1. dup和dup2用法小结
  2. php生成html文件的多种方法介绍
  3. 1、MVC和EF中的 Model First 和 Code First
  4. go sample - mongodb
  5. 每天一个Linux命令---tcpdump
  6. ASP.NET MVC学习之模型模板篇
  7. android 事件
  8. MySQL之不能保存表格问题
  9. linux之unlink函数解析
  10. 使用Apache 的lib进行List、Set、数组之间的转换(转)
  11. Java:对象的序列化
  12. Linux学习笔记12——Unix中的进程
  13. Blocks(闭包)
  14. Python——使用Pycharm连接数据库
  15. c/c++线性循环队列
  16. python--递归(附利用栈和队列模拟递归)
  17. [CF1038D]Slime
  18. BZOJ1124 POI2008枪战Maf(环套树+贪心)
  19. IE10、IE11使用 __doPostBack 出现未定义问题
  20. IP地址查询接口API

热门文章

  1. hdu1272 小希的迷宫(并查集)
  2. CodeFroces-- 514.div2.C-Sequence Transformation
  3. 关于在 java 8 下开启 TLS_RSA_WITH_3DES_EDE_CBC_SHA 支持 xp ie8 tls1.0 的正常访问
  4. win32: 静态控件(Static) - SS_NOTIFY - 响应事件
  5. TODO 软件测试68题
  6. POJ 3349 Snowflake Snow Snowflakes (Hash)
  7. iis8.0 https配置教程
  8. mysql执行update报错 Err] 1055 - 'information_schema.PROFILING.SEQ' isn't in GROUP BY
  9. 原生js操作Dom命令总结
  10. go 实现用户特权判断的例子