UML类图中的关系分为四种:泛化、依赖、关联、实现;关联关系又可以细化为聚合和组合。

1. 泛化(Generalization)

泛化是父类和子类之间的关系,子类继承父类的所有结构和行为。在子类中可以增加新的结构和行为,也可以覆写父类的行为。

2. 依赖(Generalization)

依赖关系是一种使用关系,特定事物的改变有可能会影响到使用该事物的事物,反之不成立。在你想显示一个事物使用另一个事物时使用。

通常情况下,依赖关系体现在某个类的方法使用另一个类作为参数 。

3. 关联(Dependency)

关联是一种结构化的关系,指一种对象和另一种对象有联系。给定有关联的两个类,可以从一个类的对象得到另一个类的对象。关联有两元关系和多元关系。两元关系是指一种一对一的关系,多元关系是一对多或多对一的关系。一般用实线连接有关联的同一个类或不同的两个类。当你想要表示结构化关系时使用关联。

关联关系是通过类的成员变量 来实现的。

3.1 聚合(Aggregation)

聚合是一种特殊的关联。它描述了“has a”关系,表示整体对象拥有部分对象。

关联关系和聚合关系来语法上是没办法区分的,从语义 上才能更好的区分两者的区别。聚合是较强的关联关系,强调的是整体与部分 之间的关系。

与关联关系一样,聚合关系也是通过类的成员变量 来实现的。

3.2 组合(Composition)

组合是聚合的一种形式,它具有更强的拥有关系,强调整体与部分的生命周期 是一致的。整体负责部分的生命周期的管理。如果整体被销毁,部分也必须跟着一起被销毁,如果所有者被复制,部分也必须一起被复制。

与关联关系一样,组合关系也是通过类的成员变量 来实现的。

4. 实现(Realization)

实现关系指定两个实体之间的一个合约。换言之,一个实体定义一个 合约 ,而另一个实体保证履行该 合约 。

java uml图中的关系_UML类图中的关系相关推荐

  1. UML在软件工程中的使用 建模—类图

    Enterprise Architect(EA) 是一个功能比较强悍的建模工具,本篇文章仅使用其 UML 建模功能. 如果需要安装包可以私聊我 一.简单梳理Java中类与类.类与接口.接口与接口的关系 ...

  2. uml 菱形_UML类图的各符号含义

    UML 类图的各符号含义 类图基本符号可拆分为虚线,箭头,实线,空心右三角,实心右三角,空心菱形和实心菱形.由这些基本 的图形进行组合构成了类图的基本符号.这里要注意这几个符号的顺序,代表了类与类之间 ...

  3. UML(Unified Modeling Language)统一建模语言--类图详解

    UML(Unified Modeling Language)统一建模语言--类图详解   2010-05-12 作者:fenglin1985 来源:fenglin1985的blog   类图是面向对象 ...

  4. IntelliJ IDEA 中如何查看一个类的所有继承关系,包括父类与子类

    IntelliJ IDEA 中如何查看一个类的所有继承关系,包括父类与子类 查看当前类所有的父类 查看当前所有的子类 查看当前类所有的父类 1.找到当前类所在的位置,右键选择Diagrams,然后选择 ...

  5. 推荐几个常用在线图工具(支持时序图、用例图、类图、活动图、组件图、状态图、对象图、部署图等。同时还支持非 UML 图的甘特图、架构图等)

    推荐几个常用 '在线' 图工具(支持时序图.用例图.类图.活动图.组件图.状态图.对象图.部署图等.同时还支持非 UML 图的甘特图.架构图等) 软件项目开发过程中经常需要 画流程图.接口时序图.框架 ...

  6. scala 类中的对象是类_Scala中的类和对象

    scala 类中的对象是类 Scala中的课程 (Classes in Scala) A class is a blueprint for objects. It contains the defin ...

  7. java uml聚合代码_UML类图(下):关联、聚合、组合、依赖

    前言 上一篇文章UML类图(上):类.继承.实现,讲了UML类图中类.继承.实现三种关系及其在UML类图中的画法,本文将接着上文的内容,继续讲讲对象之间的其他几种关系,主要就是关联.聚合.组合.依赖, ...

  8. java uml类图举例_UML类图介绍

    UML类图非常简单,可以用下面的图表示一个类: 该图表示一个叫做Person的类,该类有name.age.sex三个private属性,每个属性的类型紧跟在冒号的后面.该类有walk和speak两个方 ...

  9. uml中的关系-类图关系

    概述 UML类图中的关系包括: 关联(Association).聚合(Aggregation).组合(Composition).依赖(Dependency).泛化(Generalization).实现 ...

最新文章

  1. liunx系统mysql全量备份和增量备份
  2. 悬挑脚手架卸载钢丝绳要求_100m的悬挑脚手架技术交底
  3. Netty3架构解析
  4. Android的JNI开发涉及的char和string之间的互相转换
  5. 利用XML实现通用WEB报表打印 卢彦
  6. 浅谈 MySQL 中优化 SQL 语句查询常用的 30 种方法
  7. java漂亮界面编程_计算机二级之JAVA篇
  8. php url乱码java接收,java中url乱码解决方法
  9. 调色插件怎么安装_修图调色一键搞定!PS大师级调色插件NikCollection 八合一送你...
  10. OOA OOD OOP
  11. Apache 服务器配置详解
  12. 每日算法系列【LeetCode 1250】检查「好数组」
  13. 解决Linux内核问题实用技巧之-dev/mem的新玩法
  14. 小学生“快乐读书吧”具体要求以及推荐书目集
  15. 从来如此,那便对么。 鲁迅
  16. c++ 序列化库iguana使用总结
  17. 青龙面板快s极速版(本地)
  18. 高空核爆与雷电电磁脉冲特征及能量吸收技术(摘要)
  19. PostgreSQL高效分区表实现-pg_pathman
  20. 梯度提升树(GBDT)详解之一:回归举例

热门文章

  1. python 销量预测模型_如何做电商的销量预测模型?
  2. win7 mysql读写分离_mysql 主从复制 读写分离配置
  3. js通过月份判断前三个月_怀孕前三个月如何判断胎儿发育是否健康,看HCG翻倍情况,快收藏...
  4. python pytest_Python项目的pytest初始化
  5. android调服务不更新,android – OnUpdate()不调用小部件服务
  6. m4a录音文件损坏修复_智慧输入再升级 搜狗输入法创新推出AI录音助手功能
  7. 图片的宽铺满全屏 微信小程序_2020冬至快乐图片!,图片祝福贺卡,朋友圈冬至早安问候语动态图片微信小程序...
  8. 计算机背景象怎样改变,我的页面背景总是黑色,以前改变过现在好象改变不了?我该怎么改变呢? 爱问知识人...
  9. USB接口供电蓝牙彩色灯带控制器
  10. STM32CubedMX 下载与安装