UML类图中的几种关系总结
UML类图,描写叙述对象和类之间相互关系的方式包含:依赖(Dependency)、关联(Association)、聚合(Aggregation)、组合(Composition)、泛化(Generalization)、实现(Realization)等。
依赖(Dependency)
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYmJveWZlaXl1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
class B {
public void doSth() {
System.out.println("do sth in class b.");
}
}
//
class A {
public void doSthInA(B b) {
b.doSth();
// others
}
}
泛化(Generalization)
就是通常所说的继承关系,不必多解释了。uml中用带空心箭头的实线线表示Generalization关系,箭头指向被继承的类。
// 形状
class Shape { } // 方形继承自Shape
class Square extends Shape{ }
实现(Realize)
public interface Runnable {
public abstract void run();
}
// 实现Runnable接口
public class Thread implements Runnable {
@Override
public void run() {
// do sth
}
}
关联(Association)
class Book {
}
//
class People {
// 学生能够独立于老师而存在
List<Book> mBooks = new ArrayList<Book>();
}
聚合(Aggregation)
关联仅仅是表示单纯的依赖 ),部分能够独立于总体而存在。
UML中用带空心菱形头的实线
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYmJveWZlaXl1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
class Wheel {
}
class Car {
List<Wheel> mWheels = new ArrayList<Wheel>();
}
组合(Composition)
组合是聚合关系的变种,表示元两者之间具有更强的聚合关系,它通常要求总体代表部分的生命周期。
假设是组合关系,部分(个体)不能独立于总体而存在。
UML中用带实心菱形头的实线表示Composition关系。
菱形头指向总体。
class Hand {
}
class People {
List<Hand> mHands = new ArrayList<Hand>();
}
当中依赖(Dependency)的关系最弱,而关联(Association)。聚合(Aggregation),组合(Composition)表示的关系依次增强。换言之关联,聚合,组合都是依赖关系的一种,聚合是表明对象之间的总体与部分关系的关联。而组合是表明总体与部分之间有同样生命周期关系的聚合。
各种关系的强弱顺序:
泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖
參考推荐:
UML类图中的几种关系总结的更多相关文章
- UML类图中的几种关系的画法和含义
UML的类图中,一共有以下六大关系: 泛化(Generalization), 实现(Realization), 依赖(Dependence),关联(Association),聚合(Aggregatio ...
- UML类图常见的几种关系
关系:泛化(Generalization),实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency) ...
- UML ——区分类图中的几种关系.md
目录 关联关系 (association): 聚合关系 (aggregation): 合成关系 (composition): 依赖关系 (dependency): 总结: 原文地址 http://ww ...
- UML类图中的关系和表示方法
类图是用来描述程序中的类以及它们之间的关系的,使用类图可以帮助我们简化对系统的理解.在UML类图中比较常见的关系有六种,它们分别是:依赖.关联.聚合.组合.泛化.实现,这六种关系中类之间的紧密程度是依 ...
- UML类图中的关系表示
UML类图中的关系和表示方法 类图是用来描述程序中的类以及它们之间的关系的,使用类图可以帮助我们简化对系统的理解.在UML类图中比较常见的关系有六种,它们分别是:依赖.关联.聚合.组合.泛化.实现,这 ...
- UML类图中最重要的几种类关系及其表示
阅读UML图最常见到的类与类之间的关系有如下几种: 1.依赖关系 依赖关系是指一个类在计算时,应用了“另一个类”类型的参数,这种关系是偶然.临时.弱的. UML类图中,依赖关系用带单箭头的虚线表示,即 ...
- UML类图中的六种关系(物理设计阶段)
UML类图中经常会用到各种箭头和线条来表示不同类或者接口之间的关系,因此非常好的理解各个图标的含义是很有必要的. 在物理设计阶段可以通过EA工具将类图搭建好,然后直接生成物理类,这样也可以减少物理设计 ...
- UML类图中箭头和线条的含义和用法
UML类图中箭头和线条的含义和用法 在学习UML过程中,你经常会遇到UML类图关系,这里就向大家介绍一下UML箭头.线条代表的意义,相信通过本文的介绍你对UML中箭头.线条的意义有更明确的认识. AD ...
- UML类图中连接线与箭头的含义(转)
UML类图是描述类之间的关系 概念 类(Class):使用三层矩形框表示. 第一层显示类的名称,如果是抽象类,则就用斜体显示. 第二层是字段和属性. 第三层是类的方法. 注意前面的符号,'+'表示pu ...
随机推荐
- android删除表和清空表
删除某一表: //删除某一个表 public void dropTable(SQLiteDatabase db){ db.execSQL("drop from tab_name") ...
- 智课雅思词汇---十一、spect是什么意思
智课雅思词汇---十一.spect是什么意思 一.总结 一句话总结:词根:spect, speci, spec(spic, spi, spy) = to look, to see 看 1.port是什 ...
- Hints
If you played with the Fibonacci function, you might have noticed that the bigger the argument you p ...
- 搭建Hadoop的全分布模式
此教程仅供参考 注意:此文档目的是为了本人方便以后复习,不适合当教程,以免误导萌新... 1.安装三台Linux2.在每台机器上安装JDK3.配置每台机器的免密码登录 (*) 生成每台机器的公钥和私钥 ...
- 不同框架实现的todomvc
http://todomvc.com/ http://hao.jobbole.com/
- Windows Server 2012 r2 显示计算机图标
在 Windows Server 2012 R2 系统中,微软取消了服务器桌面个性化选项,如何重新调出配置界面,在桌面上显示计算机图标,本文为大家介绍一下! Win2012我的电脑怎么显示到桌面? 一 ...
- linux Cenos-7.0下安装jdk搭建环境变量
搭建linux系统的java环境本人目前所知有两种方式: 第一种是从oracle官网下载linux系统的jdk版本: 第二种是使用yum命令的方式下载安装,咱们今天讲的是第一种方式. 一.工具准备: ...
- numpy基础篇-简单入门教程3
np import numpy as np np.__version__ print(np.__version__) # 1.15.2 numpy.arange(start, stop, step, ...
- HNU 12961 BitTorrent DP
题意: 你在网上下载东西,一个文件存储在一段或者多段里面,问怎么选择能在规定的流量内下载最多的文件数量.每段的大小一样. 思路: 习惯了做答案保存在DP数组里的题,做这种答案保存在下标里的题,转不过弯 ...
- UVALive 5790 Ball Stacking DP
DP的方向真的很重要,这题做的时候死活想不出来,看了题解以后恍然大悟原来这么简单. 题意: 有n层堆成金字塔状的球,若你要选一个球,你必须把它上面那两个球取了,当然也可以一个不取.求选的球最大的权值和 ...