java uml图中的关系_UML类图中的关系
UML类图中的关系分为四种:泛化、依赖、关联、实现;关联关系又可以细化为聚合和组合。
1. 泛化(Generalization)
泛化是父类和子类之间的关系,子类继承父类的所有结构和行为。在子类中可以增加新的结构和行为,也可以覆写父类的行为。
2. 依赖(Generalization)
依赖关系是一种使用关系,特定事物的改变有可能会影响到使用该事物的事物,反之不成立。在你想显示一个事物使用另一个事物时使用。
通常情况下,依赖关系体现在某个类的方法使用另一个类作为参数 。
3. 关联(Dependency)
关联是一种结构化的关系,指一种对象和另一种对象有联系。给定有关联的两个类,可以从一个类的对象得到另一个类的对象。关联有两元关系和多元关系。两元关系是指一种一对一的关系,多元关系是一对多或多对一的关系。一般用实线连接有关联的同一个类或不同的两个类。当你想要表示结构化关系时使用关联。
关联关系是通过类的成员变量 来实现的。
3.1 聚合(Aggregation)
聚合是一种特殊的关联。它描述了“has a”关系,表示整体对象拥有部分对象。
关联关系和聚合关系来语法上是没办法区分的,从语义 上才能更好的区分两者的区别。聚合是较强的关联关系,强调的是整体与部分 之间的关系。
与关联关系一样,聚合关系也是通过类的成员变量 来实现的。
3.2 组合(Composition)
组合是聚合的一种形式,它具有更强的拥有关系,强调整体与部分的生命周期 是一致的。整体负责部分的生命周期的管理。如果整体被销毁,部分也必须跟着一起被销毁,如果所有者被复制,部分也必须一起被复制。
与关联关系一样,组合关系也是通过类的成员变量 来实现的。
4. 实现(Realization)
实现关系指定两个实体之间的一个合约。换言之,一个实体定义一个 合约 ,而另一个实体保证履行该 合约 。
java uml图中的关系_UML类图中的关系相关推荐
- UML在软件工程中的使用 建模—类图
Enterprise Architect(EA) 是一个功能比较强悍的建模工具,本篇文章仅使用其 UML 建模功能. 如果需要安装包可以私聊我 一.简单梳理Java中类与类.类与接口.接口与接口的关系 ...
- uml 菱形_UML类图的各符号含义
UML 类图的各符号含义 类图基本符号可拆分为虚线,箭头,实线,空心右三角,实心右三角,空心菱形和实心菱形.由这些基本 的图形进行组合构成了类图的基本符号.这里要注意这几个符号的顺序,代表了类与类之间 ...
- UML(Unified Modeling Language)统一建模语言--类图详解
UML(Unified Modeling Language)统一建模语言--类图详解 2010-05-12 作者:fenglin1985 来源:fenglin1985的blog 类图是面向对象 ...
- IntelliJ IDEA 中如何查看一个类的所有继承关系,包括父类与子类
IntelliJ IDEA 中如何查看一个类的所有继承关系,包括父类与子类 查看当前类所有的父类 查看当前所有的子类 查看当前类所有的父类 1.找到当前类所在的位置,右键选择Diagrams,然后选择 ...
- 推荐几个常用在线图工具(支持时序图、用例图、类图、活动图、组件图、状态图、对象图、部署图等。同时还支持非 UML 图的甘特图、架构图等)
推荐几个常用 '在线' 图工具(支持时序图.用例图.类图.活动图.组件图.状态图.对象图.部署图等.同时还支持非 UML 图的甘特图.架构图等) 软件项目开发过程中经常需要 画流程图.接口时序图.框架 ...
- scala 类中的对象是类_Scala中的类和对象
scala 类中的对象是类 Scala中的课程 (Classes in Scala) A class is a blueprint for objects. It contains the defin ...
- java uml聚合代码_UML类图(下):关联、聚合、组合、依赖
前言 上一篇文章UML类图(上):类.继承.实现,讲了UML类图中类.继承.实现三种关系及其在UML类图中的画法,本文将接着上文的内容,继续讲讲对象之间的其他几种关系,主要就是关联.聚合.组合.依赖, ...
- java uml类图举例_UML类图介绍
UML类图非常简单,可以用下面的图表示一个类: 该图表示一个叫做Person的类,该类有name.age.sex三个private属性,每个属性的类型紧跟在冒号的后面.该类有walk和speak两个方 ...
- uml中的关系-类图关系
概述 UML类图中的关系包括: 关联(Association).聚合(Aggregation).组合(Composition).依赖(Dependency).泛化(Generalization).实现 ...
最新文章
- liunx系统mysql全量备份和增量备份
- 悬挑脚手架卸载钢丝绳要求_100m的悬挑脚手架技术交底
- Netty3架构解析
- Android的JNI开发涉及的char和string之间的互相转换
- 利用XML实现通用WEB报表打印 卢彦
- 浅谈 MySQL 中优化 SQL 语句查询常用的 30 种方法
- java漂亮界面编程_计算机二级之JAVA篇
- php url乱码java接收,java中url乱码解决方法
- 调色插件怎么安装_修图调色一键搞定!PS大师级调色插件NikCollection 八合一送你...
- OOA OOD OOP
- Apache 服务器配置详解
- 每日算法系列【LeetCode 1250】检查「好数组」
- 解决Linux内核问题实用技巧之-dev/mem的新玩法
- 小学生“快乐读书吧”具体要求以及推荐书目集
- 从来如此,那便对么。 鲁迅
- c++ 序列化库iguana使用总结
- 青龙面板快s极速版(本地)
- 高空核爆与雷电电磁脉冲特征及能量吸收技术(摘要)
- PostgreSQL高效分区表实现-pg_pathman
- 梯度提升树(GBDT)详解之一:回归举例
热门文章
- python 销量预测模型_如何做电商的销量预测模型?
- win7 mysql读写分离_mysql 主从复制 读写分离配置
- js通过月份判断前三个月_怀孕前三个月如何判断胎儿发育是否健康,看HCG翻倍情况,快收藏...
- python pytest_Python项目的pytest初始化
- android调服务不更新,android – OnUpdate()不调用小部件服务
- m4a录音文件损坏修复_智慧输入再升级 搜狗输入法创新推出AI录音助手功能
- 图片的宽铺满全屏 微信小程序_2020冬至快乐图片!,图片祝福贺卡,朋友圈冬至早安问候语动态图片微信小程序...
- 计算机背景象怎样改变,我的页面背景总是黑色,以前改变过现在好象改变不了?我该怎么改变呢? 爱问知识人...
- USB接口供电蓝牙彩色灯带控制器
- STM32CubedMX 下载与安装