UML图表示类之间的关系
一、泛化(Generanization)
图:

泛化简单的说就是继承关系,在java中就是extend。表示一般与特殊的关系。如鸭子是鸟的一种,即有鸭子的特性也有鸟的共性。用带空心的三角箭头的实线指向父类。
二、接口与实现
图:

这种关系其实就是java里面的implements,是类与接口的关系。有两种表示(因为接口有两种表示方法)。
1.用带空心三角箭头的虚线,箭头指向接口。
2.或者直线连接圆圈,圆圈表示接口。
三、依赖(Dependency)
图:

在java中用import表示,如这个类有依赖到哪个类。可以是方法参数或者方法里面的代码。用带箭头的虚线指向所要依赖的类。
是一种使用的关系。即一个类的实现需要另一个类的协助。所以尽量不使用双向的互相依赖。
四、关联(association)
图:

关联是一种拥有关系。他使一个类知道另一个类的属性和方法。在java中体现就是成员变量。如老师和学生,学生和课程。关联可以是双向的,也可以是单向的。单向的用
带箭头的实线指向被拥有者。双向的箭头去掉,用一条线连接。
五、聚合(Aggregation)
图:

是整体与部分的关系。部分离开整体后仍然可以存在。如轮胎离开车后仍然可以存在。在java中的体现也是成员变量。用一个带空心菱形的实线,指向整体。
六、组合(Composition)
图:

是整体与部分的关系。但是部分离开整体不可以单独存在。如人和手是不可分离的。表现形式也是成员变量。用一个带实心菱形的实线,指向整体。
UML图表示类之间的关系的更多相关文章
- UML 类之间的关系
统一建模语言(Unified Modeling Language,UML) 作用:对软件系统进行说明 如果说软件系统是一本小说的话,那么 UML 就是将小说动漫化. 也许你看过这本小说,但是时间一长, ...
- java 类与类之间的关系 及uml图
类与接口之间的关系 : 继承 类与类之间的关系 :继承关系 包含关系 类与对象之间的关系 : 实例 UML 类图中类与类之间的关系: 泛化关系(generalization) 关联关系(associ ...
- UML类图及类与类之间的关系
原文地址:http://www.uml.org.cn/oobject/201211231.asp 类图用于描述系统中所包含的类以及它们之间的相互关系,帮助人们简化对系统的理解,它是系统分析和设计阶段的 ...
- C# UML类图及类之间的几种关系
今天晚上看了大话设计模式中的UML类图这一节感觉受益匪浅,好多年不能理解的类之间的关系理解了. 一.UML类图的表示方法 1.类的表示方法 A类用一个矩形框分三层表示,第一层是类名,斜体类名表示抽象类 ...
- UML类图(二)----------类与类之间的关系之关联(聚合与组合)
类与类之间的关系: 在软件系统中,类并不是孤立存在的,类与类之间存在各种关系,对于不同类型的关系,UML提供了不同的表示方式. 1. 关联关系 关联(Association)关系是类与类之 ...
- UML类图及类之间关系
1.UML基本介绍 UML:统一建模语言,是一种用于软件系统分析和设计的语言工具 2.UML图 UML图分类: 用例图 静态结构图:类图,对象图,包图,组件图,部署图 动态行为图:交互图,状态图,活动 ...
- 从零开始学C++之RTTI、dynamic_cast、typeid、类与类之间的关系uml
一.RTTI Run-time type information (RTTI) is a mechanism that allows the type of an object to be deter ...
- UML类图与类间六种关系表示
UML类图与类间六种关系表示 1.类与类图 类封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性,操作,关系的对象集合的总称. 类图是使用频率最高的UML图之一. 类图用于描述系统中所包含的 ...
- RTTI、dynamic_cast、typeid、类与类之间的关系uml
一.RTTI Run-time type information (RTTI) is a mechanism that allows the type of an object to be deter ...
随机推荐
- python3报:ImportError: No module named 'MySQLdb'
问题描述: 项目在转到python3.6时,原先的导入MySQLdb模块都提示无法导入,pip install mysqldb也安装失败. 问题原因: python2和python3在数据库模块支持这 ...
- linux用户权限、系统信息相关命令(待学)
用户权限相关命令 目标 用户 和 权限 的基本概念 用户管理 终端命令 组管理 终端命令 修改权限 终端命令 01.用户和权限的基本概念 1.1 基本概念 用户 是Linux系统工作中重要的一环, 用 ...
- Codeforces Round #551 (Div. 2)D(树形DP)
#define HAVE_STRUCT_TIMESPEC#include <bits/stdc++.h>using namespace std;int val[300007],num[30 ...
- [经验] 关于 Java 中的非空判断
在写项目的时候, 遇到一个问题 假设有一个控制层接口为: @ResponseBody @RequestMapping(value = "test", method = Reques ...
- 创建私有yum仓库
创建私有yum仓库
- mysql 优化策略(如何利用好索引)
博客园 首页 联系 管理 随笔- 3282 文章- 0 评论- 157 mysql联合索引 命名规则:表名_字段名1.需要加索引的字段,要在where条件中2.数据量少的字段不需要加索引3.如果 ...
- 巧用DOS命令合并多个文本文件的内容
假设,在网上下载了一本小说.这本小说是由100多个文本文件组成的.这个时候,将这100多个文本文件的内容全部合并到一个文本文件中,阅读起来就会显得很方便 (1)首先,使用本书中“批量按序更改文 ...
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 辅助类:表格单元格使用了 "bg-danger" 类
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- PaperReading20200219
CanChen ggchen@mail.ustc.edu.cn This is my first day sharing my reading paper and I will try to para ...
- LeetCode刷题笔记和想法(C++)
主要用于记录在LeetCode刷题的过程中学习到的一些思想和自己的想法,希望通过leetcode提升自己的编程素养 :p 高效leetcode刷题小诀窍(这只是目前对我自己而言的小方法,之后会根据自己 ...