UML类图(类关系的表示)
UML的三个基本部分:
- 事物(Things)
- 关系(Relationships)
- 图(Diagrams)
类图:
例如下面钟表类的表示
对象图:
UML的几种关系:
①依赖关系:(虚线箭头)
类A是源,类B是目标,表示类A使用了类B
②关联关系:(实线)
图中的重数A决定了类B的每个对象与类A的多少个对象发生作用,重数B同理
③包含关系→共享聚集(空心菱形)
共享聚集:部分可以参加多个整体,例如一个老师在某个学校任职,如果这个学校被拆,那么老师仍然可以去其他学校就职
④包含关系→组成聚集(实心菱形)
组成聚集:整体拥有各个部分,整体与部分共存,如果整体不存在了,部分也就不存在了,例如人去世了,身上的器官也就随之失去存在的意义(捐赠器官除外)
⑤继承关系→泛化(空心三角)
样例:
#include<iostream>
#include<cmath>
using namespace std;
class Point
{public:Point(int a = 0, int b = 0){x = a, y = b;}Point(const Point &b) //②:复制构造函数{x = b.x, y = b.y;}int Getx() { return x; }int Gety() { return y; }private:int x, y;
};
class Line //类的组合
{public: //↓下面这里传递参数+对象复制会执行4次Point对象的复制构造函数,即上面的②Line(Point s1, Point s2): p1(s1), p2(s2) //p1和p2的初始化顺序取决于①处定义顺序{ //如果p1或者s2没有被初始化,则会调用默认构造函数(即无形参的)进行初始化double x, y;x = static_cast<double>(p1.Getx()-p2.Getx());y = static_cast<double>(p1.Gety()-p2.Gety());len = sqrt(x*x+y*y);}Line(const Line &b): p1(b.p1), p2(b.p2){len = b.len;}double Getlen() { return len; }private:Point p1, p2; //①double len;
};int main(void)
{Point a(0, 0), b(3, 4);Line q(a, b), q2(q);cout<<q.Getlen()<<endl;cout<<q2.Getlen()<<endl;return 0;
}
对于上面的程序关系视图如下
UML类图(类关系的表示)相关推荐
- C++UML类图的关系
C++UML类图的关系 在C++中UML主要用来描述软件中类和对象以及它们的静态关系.类图主要是用来显示系统中的类.接口以及它们之间的静态结构和关系的一种静态模型. 类图的3个基本组件: 类名; 属性 ...
- UML类图-六种关系详解
UML基本介绍 UML--Unified modeling language UML(统一建模语言),是一种用于软件系统分析和设计的语言工具,它用于帮助软件开发人员进行思考和记录思路的结果 UML本身 ...
- UML类图和关系--idea使用PlantUML插件画类图
UML类图和关系 类图 - 依赖关系(Dependence) **应用案例** **Java代码** **UML类图 + PlantUML代码** **小结** 类图 - 泛化关系(generaliz ...
- 用红色警戒的单位来帮助我们学习UML类图和关系图
回顾回顾UML类图的画法,争取自己画出的图能让其他人看得懂. 我为什么要借助红色警戒这个游戏来说明UML类图的画法呢,因为我觉得大家都玩过,对他们的内容都有一个清晰的认识,其次是不想让我的文章太晦涩难 ...
- 韩老师设计模式1:7原则。依赖关系3种方法。UML类图6关系。
面试 1. 原型模式 1)有请使用UML类图画出原型模式核心角色2) 原型设计模式的深拷贝和浅拷贝是什么,并写出深拷贝的两种方式的源码(重写 clone方法实现深拷贝. 使用序列化来实现深拷贝)3) ...
- UML类图---类与类图的解析
<strong>类图用于描述系统中所包含的类以及它们之间的相互关系,帮助人们简化对系统的理解,它是系统分析和设计阶段的重要产物,也是系统编码和测试的重要模型依据.</strong&g ...
- UML类图--依赖关系
依赖--Dependency:是一种使用的关系,即一个类的实现需要另一个类的协助,所以要尽量不使用双向的互相依赖. UML展示: 箭头指向:带箭头的虚线,指向被使用者 代码展示: // 人类-类 pu ...
- 总结 一下UML 类图的关系
1,实线三角 表示 泛化 是一种继承关系,它指定了子类如何特化父类的所有特征和行为 2,虚线三角 表示 实现 是一种类与接口的关系,表示类是接口所有特征和行为的实现 3,空心菱形 表示 聚合 是整 ...
- visio2007类图实现关系
参考newevan博客,网址:http://blog.sina.com.cn/s/blog_5bd6b4510101585x.html 类右击->形状显示选项->常规选项-实现连接,确定即 ...
- 绘制函数调用图(call graph) C++项目类图 调用关系图
时间:2021年8月25日14:36:47 参考资料如下: 绘制函数调用图(call graph)(1):专栏开篇_许振坪的专栏-CSDN博客_函数调用关系图怎么画 绘制函数调用图(call grap ...
最新文章
- java 窗口开始_Java窗口(JFrame)从零开始(3)——绝对布局
- MQ各个元素的详细理解
- Python 计算机视觉(一) —— 数字图像处理基础
- Centos+Nginx+PHP7.0编译安装(和PHP5.6老版本共存)
- python读取us7ascii字符集Oracle数据库中文乱码问题的解决方案
- c语言tdatetime变量类型,c++ 时间类型详解(time_t和tm)
- java实现录屏_javacv实现桌面端录屏
- Lab07 南向协议AC-DCN esight
- 【Pyecharts50例】添加背景图片/Logo
- 如何 运行WRF模型 天气预报 数据后处理
- Mesh网络,让世界“雾”起来 | INE创始人熊羽睿演讲实录
- Codeforces 855G Harry Vs Voldemort 边双连通分量+并查集
- 计算机软件工作室起名'',游戏工作室起名大全
- 马尔科夫链蒙特卡洛(MCMC)
- C++模拟扑克过五关
- 获取mp3文件的封面,所属专辑以及以及其他基础信息
- HTML5期末大作业:家居/家电/家居网站设计——html家具装饰网站设计30页(含论文) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 计算机...
- 很好玩的html小游戏代码
- Mybatis配置多数据源
- Mysql复习计划(四)- 索引失效和数据库设计规范
热门文章
- python学来干什么-学python出来到底能干嘛
- python和java选择哪个-观点|Java 与 Python:你应该选择哪个?
- python必备入门代码-小白入门Python开发,必备技能有哪些?
- 绵阳创客开发长语音识别平台 1小时语音10分钟转化为文字
- 【Spring笔记】Spring配置
- 【互联网周刊】2022年第6期摘录
- 最简单的基于FFmpeg的移动端例子附件:SDL Android HelloWorld
- x264源代码简单分析:熵编码(Entropy Encoding)部分
- H.264 无参考视频质量评价方法 (使用了基于遗传编程方法的符号回归)
- python编程入门教程第6讲_Python开发的入门教程(六)-函数