首页 > 其他分享 >类与类之间的关系(类图)

类与类之间的关系(类图)

时间:2023-11-04 10:33:44浏览次数:42  
标签:关系 ... 聚合 整体 关联 箭头 类图 之间

实习过程中,组长要求写类图,发现已经忘的差不多...来复习一下 UML

一.六大关系

1.泛化(Generalization)<继承 Inheritance>

是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。例如:老虎是动物的一种,即有老虎的特性也有动物的共性。

带三角箭头的实线,上方为父类,下方为子类

2.实现(Realization) <接口实现>

是一种类与接口<抽象类>的关系,表示类是接口所有特征和行为的实现

带三角箭头的虚线,箭头指向接口

ps:接口类<抽象类>类名用<< >>包围,或者为斜体

3.关联(Association) <拥有>

关联包括单向关联、双向关联和自关联
是一种拥有的关系,它使一个类知道另一个类的属性和方法;如:老师与学生,丈夫与妻子关联可以是双向的,也可以是单向的。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。

带普通箭头的实心线,指向被拥有者

上图中,老师与学生是双向关联,老师有多名学生,学生也可能有多名老师。但学生与某课程间的关系为单向关联,一名学生可能要上多门课程,课程是个抽象的东西他不拥有学生。

下图是自关联

ps:关联关系中,实现上有数字,表示n对m的关系,其中0...*表示0个或者多个,1...*表示一个或者多个,...理解成

4.聚合(Aggregation)<强关联>

整体与部分的关系,且部分可以离开整体而单独存在。如车和轮胎是整体和部分的关系,轮胎离开车仍然可以存在。
聚合关系是关联关系的一种,是的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。

空心菱形的实心线,菱形指向整体

5.组合(Composition) <强聚合>

是整体与部分的关系,但部分不能离开整体而单独存在。如公司和部门是整体和部分的关系,没有公司就不存在部门。
组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期

带实心菱形的实线,菱形指向整体

ps:整体负责部分的生命周期,如果整体消失,部分也失去消失

6.依赖(Dependency) <低耦合>

是一种使用的关系,即一个类的实现需要另一个类的协助,所以要尽量不使用双向的互相依赖.

带箭头的虚线,指向被使用者

ps:各种关系的强弱顺序:泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖

参考文章: UML类图设计

二.常用画类图工具

Enterprise Architect
PlatnUML
ProcessOn 在线!ProcessOn
StarUML
Visio

标签:关系,...,聚合,整体,关联,箭头,类图,之间
From: https://www.cnblogs.com/yyghw/p/17808982.html

相关文章

  • Windows、Linux 和 Mac:操作系统之间的比较有哪些
    Windows系统、Linux系统与Mac系统:操作系统的对比与选择操作系统是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。操作系统是用户和计算机的接口,同时也是计算机硬件和其他软件的接口。以下是W......
  • 倾斜摄影三维模型的根节点合并的文件大小与质量关系分析
    倾斜摄影三维模型的根节点合并的文件大小与质量关系分析 倾斜摄影三维模型的根节点合并过程涉及大量的数据,包括高分辨率图像和点云信息。在进行根节点合并时,文件大小和质量之间存在一定的关系。本文将分析倾斜摄影三维模型的根节点合并的文件大小与质量之间的关系。首先,文件......
  • Eviews回归分析股权集中度、股权制衡度与公司绩效关系:中小板上市公司数据
    全文链接:http://tecdat.cn/?p=32345原文出处:拓端数据部落公众号本文深入分析了国内外关于股权结构与公司绩效的影响因素;帮助客户运用回归分析法,以ROE作为公司绩效的度量指标,考察中小企业板上市公司股权集中度、股权制衡度对公司绩效的影响因素。为了进行实证研究,选取了部分深......
  • kserve cert-manager是什么关系?
    k8s的webhook就是给pod(或其他资源)修改一些东西的,像是pod的queue-proxy容器就是webhook给注入的。webhook什么时候被调用呢?apply后,请求到达api-server,api-server处理请求时,调用的webhook,调用webhook后,进入etcd。  api-server通过读取mutatingwebhookconfiguration和va......
  • ETL工具与数据处理的关系​
    ETL工具与数据处理之间存在密切的关系。数据处理是指对原始数据进行清洗、整理、加工和分析等操作,以便生成有用的信息和洞察力。而ETL工具则提供了一种自动化和可视化的方式来执行这些数据处理任务。通过ETL工具,用户可以定义数据抽取、转换和加载的规则和流程,实现数据从不同来源系......
  • 笛卡尔积、除、(外)连接等重要关系代数求解方法 概述
    关系代数这部分知识,在软考-数据库部分是比较重要的。   有五种基本的关系代数运算,并(符号为V)、差(符号为^)、投影()、笛卡尔积、选择,补充关系代数运算有,交、连接、除、广义投影、外连接。    1、笛卡尔积,从数学角度理解,就是将集合A和集合B中所有有序对元素集合。  ......
  • 【算法题】2817. 限制条件下元素之间的最小绝对差
    题目:给你一个下标从0开始的整数数组nums和一个整数x。请你找到数组中下标距离至少为x的两个元素的差值绝对值的最小值。换言之,请你找到两个下标i和j,满足abs(i-j)>=x且abs(nums[i]-nums[j])的值最小。请你返回一个整数,表示下标距离至少为x的两个元素之......
  • [转载]关系型数据库和非关系型的区别
    一、关系型数据库:关系型数据库是指采用关系模型来组织数据信息的数据库。其实就是二维表,它是多个二维数组的集合,我们将数据存储在表格中,通过建立表格与表格之间的关系来维护数据间的关系。优点:1.容易理解:相对于其他模型(网状、层次)更容易理解,因为二维数组的逻辑更符合逻辑世界......
  • K8s:Pod 中 command、args 与 Dockerfile 中 CMD、 ENTRYPOINT 的对应关系
    写在前面前几天被问到,这里整理笔记之前也没怎么注意这个问题理解不足小伙伴帮忙指正曾以为老去是很遥远的事,突然发现年轻是很久以前的事了。时光好不经用,抬眼已是半生,所谓的中年危机,真正让人焦虑的不是孤单、不是贫穷、更不是衰老,而是人到中年你才发现,你从来没有按照自己喜欢的方......
  • 使用 Java 对比两个PDF文档之间的差异
    不论是在团队写作还是在个人工作中,PDF文档往往会经过多次修订和更新。掌握PDF文档内容的变化对于管理文档有极大的帮助。通过对比PDF文档,用户可以快速找出文档增加、删除和修改的内容,更好地了解文档的演变过程,轻松地管理文档。本文将介绍如何在Java程序中通过代码快速比较......