类图及类的关系

类图(Class Diagram)是UML(Unified Modeling Language,统一建模语言)中的一种图,用于描述系统中类的静态结构,包括类的属性、方法以及类之间的关系。

一、类

类(Class):用矩形表示,包括类名、属性和方法。

类名:通常位于矩形的顶部,以粗体或斜体显示。
属性:列在类名的下方,通常表示为“可见性 属性名 : 类型”,其中可见性可以是公有(+)、私有(-)、保护(#)或包内私有(~)。
方法:也列在类名的下方,格式为“可见性 方法名(参数列表) : 返回类型”。

二、类的关系

1、继承(Inheritance)

     【继承关系】:表示一个类是另一个类的特殊类型,子类继承父类的属性和方法。

     【代码体现】:在Java中此类关系通过关键字extends明确标识。

     【箭头指向】:带空心三角箭头的实线,从子类指向父类。

2、实现(Realization)

     【实现关系】:是接口和实现类之间的关系。类实现了接口中的抽象方法。

     【代码体现】:在Java中此类关系通过关键字implements明确标识。

     【箭头指向】:带空心三角箭头的虚线,箭头指向接口。

3、依赖(Dependency)

     【依赖关系】:是一种使用的关系,被依赖的对象只是作为一种工具在使用,而并不持有对它的引用。这种使用关系是具有偶然性、临时性的、非常弱的,但是B类的变化会影响到A。

     【代码体现】:局部变量、方法的参数或者对静态方法的调用。

     【箭头指向】:带箭头的虚线,指向被使用的类。

4、关联(Association)

     【关联关系】:是对象之间的一种引用关系,使一个类知道另外一个类的属性和方法,通常有“知道”、“了解”的含义。如老师和学生,丈夫和妻子等。关联关系有单向和双向的。单向关联有一个箭头,双向关联有两个箭头或者没有箭头。

     【代码体现】:成员变量。

     【箭头指向】:带普通箭头的实线,从使用类指向被关联的类。

5、聚合(Aggregation)

     【聚合关系】:是一种特殊的关联关系,表示整体和部分之间的关系,如学校和老师,车子和轮胎。是一种“弱拥有”的关系,成员是整体的一部分,成员也可以脱离整体而存在。

     【代码体现】:成员变量。

     【箭头指向】:带空心菱形的实线,菱形指向整体。

6、组合(Composition)

     【组合关系】:是一种特殊的关联关系,表示整体和部分之间的关系,但部分不能离开整体而单独存在。是一种“强拥有”的关系,如身体和大脑之间的关系,大脑不能脱离身体而单独存在。

     【代码体现】:成员变量。

     【箭头指向】:带实心菱形的实线,菱形指向整体。

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

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

相关文章

高级查询(一)

解决需求&#xff1a;Excel都可以轻松搞定 分组查询原理&#xff1a; 语法&#xff1a; SELECT …<列名> FROM <表名> [WHERE<条件表达式> ] GROUP BY 参与分组的列 可以与 聚合函数作用的列 一块显示 注意 SELECT列表中只能包含&#xff1a; 1、被分…

勒索软件漏洞?在不支付赎金的情况下解密文件

概述 在上一篇文章中&#xff0c;笔者对BianLian勒索软件进行了研究剖析&#xff0c;并且尝试模拟构建了一款针对BianLian勒索软件的解密工具&#xff0c;研究分析过程中&#xff0c;笔者感觉构建勒索软件的解密工具还挺有成就感&#xff0c;因此&#xff0c;笔者准备再找一款…

gin框架学习笔记(三) ——路由请求与相关参数

参数种类与参数处理 查询参数 在讲解查询参数的定义之前&#xff0c;我们先来看一个例子&#xff0c;当我打开了CSDN&#xff0c;我现在想查看我的博客浏览量&#xff0c;那么我就需要点击我的头像来打开我的个人主页,像下面这样: 我们现在把浏览器的网址取下来&#xff0c;…

uniapp编译H5解决ios的border-radius失效问题,以及ios满屏显示不全的问题

1.解决方案 .card-itemA {width: 650rpx;height: 326rpx;box-shadow: 0rpx 0rpx 30rpx 14rpx rgba(236, 235, 236, 0.25);background: linear-gradient(180deg, #FFFFFF 0%, rgba(255, 255, 255, 0) 100%);border-radius: 60rpx;overflow: hidden;// 兼容ios的圆角问题transfor…

web入门练手案例(一)

下面是一下web入门案例和实现的代码&#xff0c;带有部分注释&#xff0c;倘若代码中有任何问题或疑问&#xff0c;欢迎留言交流~ 新闻页面 案例描述&#xff1a; 互联网的发展使信息的传递变得方便、快捷&#xff0c;浏览新闻称为用户获取信息的重要渠道。下面将实现一个简…

OrangePi Zero2 全志H616开发学习文档、基础IO蜂鸣器、超声波测距、舵机PWM基础开发

一.平台介绍 OrangePi开发板不仅仅是一款消费品&#xff0c;同时也是给任何想用技术来进行创作创新的人设计的。它是一款简单、有趣、实用的工具&#xff0c;你可以用它去打造你身边的世界。 特性 CPU 全志H616四核64位1.5GHz高性能Cortex-A53处理器GPU MaliG31MP2 Supports…

Nginx解决跨域问题

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站&#xff0c;这篇文章男女通用&#xff0c;看懂了就去分享给你的码吧。 W3C标准&#xff1…

PostgreSQL 用户及授权管理 04:授予及回收权限

PostgreSQL 是一个坚如磐石的数据库&#xff0c;它非常注重安全性&#xff0c;提供了非常丰富的基础设施来处理权限、特权和安全策略。在前面的章节中以我们介绍的基本概念为基础&#xff0c;重新审视角色概念&#xff0c;特别关注授予角色的安全性和权限&#xff08;角色可以是…

2024年前一季度,国内医疗器械营收TOP10出炉!

随着国内医疗器械市场的不断发展&#xff0c;各大医疗器械公司的财报数据成为了投资者和行业观察者关注的焦点。近日&#xff0c;根据2024年第一季度财报数据&#xff0c;我们梳理出了中国医疗器械第一财季营收排名前十的械企&#xff0c;为大家带来深入的分析和解读。 一、营…

达梦数据库 报错 数据类型不匹配

达梦数据库 报错 数据类型不匹配 背景描述问题分析问题处理方案1&#xff1a;方案2&#xff1a;TO_CHAR(str)CAST(value AS type)CONVERT(type,value)DBMS_LOB 包TEXT_EQUAL(n1,n2) 写在最后 背景描述 本文写于初接触到达梦(DM)数据库&#xff0c;之前没有用过&#xff0c;因此…

《四》系统模块整体功能关联与实现

在上一篇里&#xff0c;我们完成了动作的创建&#xff0c;那么这一次&#xff0c;我们把它加载到界面上&#xff0c;把需要是实现的动作都加上。 MyWord::MyWord(QWidget *parent): QMainWindow(parent) {mdiAreanew QMdiArea;mdiArea->setHorizontalScrollBarPolicy(Qt::S…

Python爬虫逆向——某公开数据网站实例小记(二)

注意&#xff01;&#xff01;&#xff01;&#xff01;某XX网站逆向实例仅作为学习案例&#xff0c;禁止其他个人以及团体做谋利用途&#xff01;&#xff01;&#xff01; 第一步&#xff1a;分析页面和请求方式 aHR0cHM6Ly95Z3AuZ2R6d2Z3Lmdvdi5jbi8jLzQ0L2p5Z2c 此网站经…