uml 中 继承 实现 依赖 组合 等表示方法

news/2025/1/10 15:40:07/文章来源:https://www.cnblogs.com/r1-12king/p/18664093

在UML(统一建模语言)中,不同的关系类型使用不同的箭头和线条来表示。以下是常见的UML关系及其对应的表示方法:


1. 继承(Inheritance)

  • 表示空心三角形箭头 + 实线

  • 方向:箭头指向父类(基类)

  • 说明:表示一个类继承自另一个类。

  • 示例

     
    复制
    [子类] ——▷ [父类]

2. 实现(Realization)

  • 表示空心三角形箭头 + 虚线

  • 方向:箭头指向接口或抽象类

  • 说明:表示一个类实现了一个接口或抽象类。

  • 示例

     
    复制
    [实现类] - - -▷ [接口]

3. 依赖(Dependency)

  • 表示普通箭头 + 虚线

  • 方向:箭头指向被依赖的类

  • 说明:表示一个类依赖于另一个类(例如,作为方法参数、局部变量等)。

  • 示例

     
    复制
    [依赖类] - - - > [被依赖类]

4. 关联(Association)

  • 表示普通箭头 + 实线

  • 方向:箭头指向被关联的类(可选,表示导航方向)

  • 说明:表示两个类之间有某种联系,通常是成员变量级别的关联。

  • 示例


    •  
      复制
      [类A] ——> [类B]

    5. 聚合(Aggregation)

    • 表示空心菱形 + 实线

    • 方向:菱形指向整体,箭头指向部分

    • 说明:表示一种“弱拥有”关系,部分可以独立于整体存在。

    • 示例

       
      复制
      [整体] ◇——> [部分]

    6. 组合(Composition)

    • 表示实心菱形 + 实线

    • 方向:菱形指向整体,箭头指向部分

    • 说明:表示一种“强拥有”关系,部分不能独立于整体存在。

    • 示例

       
      复制
      [整体] ◆——> [部分]


  • 总结对比表

    关系类型箭头/线条样式方向示例
    继承 空心三角形 + 实线 子类 → 父类 [子类] ——▷ [父类]
    实现 空心三角形 + 虚线 实现类 → 接口 [实现类] - - -▷ [接口]
    依赖 普通箭头 + 虚线 依赖类 → 被依赖类 [依赖类] - - - > [被依赖类]
    关联 普通箭头 + 实线 类A → 类B [类A] ——> [类B]
    聚合 空心菱形 + 实线 整体 → 部分 [整体] ◇——> [部分]
    组合 实心菱形 + 实线 整体 → 部分 [整体] ◆——> [部分]

    注意事项

    1. 箭头方向:箭头方向表示关系的方向,通常指向被依赖、被继承或被关联的类。

    2. 多重性:在关联、聚合和组合中,可以在线条两端标注多重性(如 10..1* 等)。

    3. 命名:可以为关系命名,以更清晰地描述关系的含义。

    通过正确使用这些符号,可以清晰地表达类之间的关系,使UML图更易读和易懂。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/867181.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

异地多活架构进阶:如何解决写后立即读场景问题?【转】

在《醍醐灌顶!异地多活架构设计看这篇就够了》一文中,基于容灾需要,讨论了数据写入的架构模型。数据读取方面,重点在于解决读取请求的负载分担、路由选择的问题,对于容灾架构的选择影响不大。不过,其中的“写后立即读”场景,是个一致性范畴的问题,即写入的数据和写入后…

JAVA之面向对象

1、设计对象并使用类和对象 类(设计图):是对象共同特征的描述; 对象:是真实存在的具体实例; 在java中,必须先设计类,才能获得对象。 如何得到类的对象:类名 对象名 = new 类名(); 如何使用对象: 访问属性:对象名.成员变量 访问行为:对象名.方法…

免费手动打Windows Server补丁

免费手动打Windows Server 2008 R2补丁https://catalog.update.microsoft.com/search.aspx?q=kb4474419然后到windows上双击运行即可本文来自博客园,作者:六月OvO,转载请注明原文链接:https://www.cnblogs.com/chenlifan/p/18664077

pwn1_sctf_2016 1

打开ida反汇编看一下,是c++,无所谓,复制问一下ai先让我们输入s的数据,读取长度限制在32字节。然后replace函数会将s里面的 I 替换成 you 。最后输出s。 分析一下,s距离ebp为0x3C(60字节),且我们最多只能输入32字节的,但经过replace函数,一个字节的‘I’会被替换成三个…

UDS-ECU程序刷写

UDS(unified diagnostic services)统一诊断服务主要是针对汽车上对ECU进行诊断服务规范,下图是UDS在OSI分层中的具体规范,基于UDS的刷写应用逻辑体现在应用层的ISO14229规范。一、功能介绍 UDS(unified diagnostic services)统一诊断服务主要是针对汽车上对ECU进行诊断服…

主体分割技术,提升图像信息提取能力

在智能设备普及和AI技术进步的推动下,用户对线上互动的质量、个性化以及沉浸式体验的追求日益增强。例如,对于热衷于图片编辑或视频制作的用户来说,他们需要一种快速而简便的方法来将特定主体从背景中分离出来。 HarmonyOS SDK 基础视觉服务(Core Vision Kit)提供主体分割…

qt 实现窗口置顶,qtdesigner创建的widget窗口集成程序里的用法

参考 https://blog.csdn.net/Larry_Yanan/article/details/123518788 .ui文件如下新建的ui文件,编译一下就会生成对应的 ui_xxx.h 文件,文件内就有对应的 namespace Ui 声明的变量,这个变量要在mainwindow.h中声明,然后在mainwindow.cpp中new出来,具体使用如下 mainwindow…

如何在市场推广活动中实现精准的任务分配?5个项目管理技巧

一、引言 随着市场竞争的加剧和消费者需求的多样化,企业对市场推广活动的要求越来越高。市场推广活动不仅需要创意和精准的目标定位,还需要高效的执行和完善的管理。在这种背景下,如何通过有效的活动管理来提升推广活动的执行力,已成为市场团队面临的一个巨大挑战。 市场推…

Android编译 - 证书介绍

前言全局说明一、说明 1.1 环境: Android1.2 简介 在Android系统中,每个APK文件必须有一个有效的数字证书来证明其来源和完整性。当需要修改APK后再次发布时,原有的签名将不再有效,因此需要重新签名。二、证书工具 2.1 路径: android/build/tools/releasetools/sign_target…

域名解析的QPS防护值是什么?

在当今数字化的时代,互联网已经渗透到生活的方方面面,而域名解析作为互联网运行的关键环节之一,起着至关重要的作用。其中,域名解析的QPS防护值更是保障网络稳定、安全与高效的一个重要指标。 一、QPS 防护值的定义与内涵 QPS,即Queries Per Second,意为每秒查询次数。域…

远程开机详细教程

要实现远程开机,被控端必须满足以下条件: 1.目前仅支持windows系统实现远程开机 2.被控端所在局域网内,需要有另一台设备保持todesk在线 如:其他电脑、iPhone、iPad、Android 设备(手机、平板)、家人的手机(充当辅助开机设备) 如图,辅助开机设备需显示在线,离线状态无法发…

CH585的SPI驱动WS2812

目录 链接: https://pan.baidu.com/s/1Su5dgmVWLre5kH2fYiGwQQ?pwd=wch6 CH573系列/583系列/592系列MCU,在使用SPI模拟WS2812波形时,MISO-PA15引脚上的实时电平,会影响MOSI-PA14引脚上的空闲电平状态,故建议SPI驱动WS2812的场景下,固定PA15的电平,不要接其他外设。异常场…