UML【类图包图对象图】

2024-03-01 02:20
文章标签 对象 uml 类图 包图

本文主要是介绍UML【类图包图对象图】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一.类和类图

1.类是面向对象程序设计实现信息封装的基础。类是一种用户定义类型,也称类类型。每个类包含数据说明和一组操作数据或传递消息的函数。类的实例称为对象。

2.类图:用来描述系统的静态部分。

3.类图的关系

(1).关联

   (1.1)普通关联:两个类有结构关系,用直线表示。

        应用于关联的修饰:(1).名称:用以描述该关系的性质。

                                       (2).角色:当一个类处于关联的某一端时,该类就在这个关系中扮演了一个特定的角                           色;角色是关联中靠近它的一端的类对另外端的类呈现的职责。

 

(3).多重性:关联角色的多重性是说明一个关联的实例中有多少个相互链接的对象。

 

两个类之间可以有多种关联;一个类可以和多个类关联。

   (1.2)聚合:描述整体和部分关系,可独立存在,用空心的菱形表示。

   (1.3)组合:描述整体和部分的关系,不能独立的存在,用实心的菱形表示。

(2).依赖:依赖是一种使用关系,他说明一个事物规格说明的变化可能影响到使用它的另一个事物。但反之未必。用虚线的箭头表示,箭头表示被依赖的一方。

 (3).泛化:继承有父类和子类。

             单重继承:有且只有一个父类。

             多重继承:可以有很多个父类。

 

(4).实现:实现是类元之间的语义关系,在该关系中一个类元描述了另一个类元保证实现的契约。

 

4.类图的元素

类,接口,协作,关系

(一)类:包括名称,属性和操作。

类属性的语法为:

[可见性] 属性名 [:类型] [=初始值] [{属性字符串}]

可见性:公有(Public)“+”、私有(Private)“-”、受保护(Protected)“#”

 

类操作的语法为:

[可见性] 操作名 [(参数表)] [:返回类型] [{属性字符串}]

可见性:公有(Public)“+”、私有(Private)“-”、受保护(Protected)“#”、包内公有(Package)“~”

(二)接口:在没有给出对象的实现和状态的情况下对对象行为的描述。一个类可以实现一个或多个接口。

使用两层矩形框表示,与类图的区别主要是顶端有<>显示

 

或者用一个空心圆表示


例:下图中,user和GenealUser,Oprerator,Administrator是一种继承关系,表示一般与特殊的关系,用带空心箭头的实线表示,箭头指向父类。

 

 

二.包图

 

1.包的作用:逻辑上把一个复杂的图模块化;组织源代码。

2.包中的元素:类,接口,构件,用例,其他包等。若包被撤销,则其中的元素也被撤销了。

3.包与包之间的关系:泛化;细化;依赖(常用,如果两个包中的任意两个类之间有依赖关系,则这两个包之间有依赖关系。)

4.包的常见问题:(1).一定要避免循环依赖产生。

                           (2).测试时可以以包为测试单位。

                           (3).应该尽量把概念和语义上相接近的元素包含在同一个包中。

                           (4).对于一个包,找出哪些包内的元素是可以在包外访问的,把这些元素标记为公共的,其        他所有元素都标记为受保护的或者私有的。

 

三.对象图

1.对象图描述一个系统在某个具体时刻的静态结构。而类图描述所有可能的情况。在图形上,对象图是顶点和弧的集合。对象图表示冻结了的系统运动的某一瞬间。

2.对象图的构成:对象,连接,包。课包含注解和约束。

 

 

这篇关于UML【类图包图对象图】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/760875

相关文章

在java中如何将inputStream对象转换为File对象(不生成本地文件)

《在java中如何将inputStream对象转换为File对象(不生成本地文件)》:本文主要介绍在java中如何将inputStream对象转换为File对象(不生成本地文件),具有很好的参考价... 目录需求说明问题解决总结需求说明在后端中通过POI生成Excel文件流,将输出流(outputStre

C#原型模式之如何通过克隆对象来优化创建过程

《C#原型模式之如何通过克隆对象来优化创建过程》原型模式是一种创建型设计模式,通过克隆现有对象来创建新对象,避免重复的创建成本和复杂的初始化过程,它适用于对象创建过程复杂、需要大量相似对象或避免重复初... 目录什么是原型模式?原型模式的工作原理C#中如何实现原型模式?1. 定义原型接口2. 实现原型接口3

Java实现将byte[]转换为File对象

《Java实现将byte[]转换为File对象》这篇文章将通过一个简单的例子为大家演示Java如何实现byte[]转换为File对象,并将其上传到外部服务器,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言1. 问题背景2. 环境准备3. 实现步骤3.1 从 URL 获取图片字节数据3.2 将字节数组

Javascript访问Promise对象返回值的操作方法

《Javascript访问Promise对象返回值的操作方法》这篇文章介绍了如何在JavaScript中使用Promise对象来处理异步操作,通过使用fetch()方法和Promise对象,我们可以从... 目录在Javascript中,什么是Promise1- then() 链式操作2- 在之后的代码中使

MyBatis的配置对象Configuration作用及说明

《MyBatis的配置对象Configuration作用及说明》MyBatis的Configuration对象是MyBatis的核心配置对象,它包含了MyBatis运行时所需的几乎所有配置信息,这个对... 目录MyBATis配置对象Configuration作用Configuration 对象的主要作用C

SpringBoot实现导出复杂对象到Excel文件

《SpringBoot实现导出复杂对象到Excel文件》这篇文章主要为大家详细介绍了如何使用Hutool和EasyExcel两种方式来实现在SpringBoot项目中导出复杂对象到Excel文件,需要... 在Spring Boot项目中导出复杂对象到Excel文件,可以利用Hutool或EasyExcel

Springboot控制反转与Bean对象的方法

《Springboot控制反转与Bean对象的方法》文章介绍了SpringBoot中的控制反转(IoC)概念,描述了IoC容器如何管理Bean的生命周期和依赖关系,它详细讲解了Bean的注册过程,包括... 目录1 控制反转1.1 什么是控制反转1.2 SpringBoot中的控制反转2 Ioc容器对Bea

Java对象和JSON字符串之间的转换方法(全网最清晰)

《Java对象和JSON字符串之间的转换方法(全网最清晰)》:本文主要介绍如何在Java中使用Jackson库将对象转换为JSON字符串,并提供了一个简单的工具类示例,该工具类支持基本的转换功能,... 目录前言1. 引入 Jackson 依赖2. 创建 jsON 工具类3. 使用示例转换 Java 对象为

Java中对象的创建和销毁过程详析

《Java中对象的创建和销毁过程详析》:本文主要介绍Java中对象的创建和销毁过程,对象的创建过程包括类加载检查、内存分配、初始化零值内存、设置对象头和执行init方法,对象的销毁过程由垃圾回收机... 目录前言对象的创建过程1. 类加载检查2China编程. 分配内存3. 初始化零值4. 设置对象头5. 执行

JSON字符串转成java的Map对象详细步骤

《JSON字符串转成java的Map对象详细步骤》:本文主要介绍如何将JSON字符串转换为Java对象的步骤,包括定义Element类、使用Jackson库解析JSON和添加依赖,文中通过代码介绍... 目录步骤 1: 定义 Element 类步骤 2: 使用 Jackson 库解析 jsON步骤 3: 添