UML类和类之间的关系详解

UML类

在Class类中,一般都封装了属性和行为方法,是面向对象的重要组成部分,它是具有相同属性、操作、关系的对象集合的总称。在系统中,每个类都具有一定的功能职责1,一个类可以有多种职责,设计得好的类一般只有一种职责,即符合单一职责原则。

  • 在定义类的时候,将类的职责分解成为类的属性和行为操作(即方法)。类的属性即类的数据职责,类的操作即类的行为职责。设计类是面向对象设计中最重要的组成部分,也是最复杂和最耗时的部分

  • 在软件系统运行时,类将被实例化成对象(Object),对象对应于某个具体的事物,是类的实例(Instance)。

  • 类图(Class Diagram)使用出现在系统中的不同类来描述系统的静态结构,它用来描述不同的类以及它们之间的关系。

    在系统分析与设计阶段,类通常可以分为三种,分别是实体类(Entity Class)控制类(Control Class)边界类(Boundary Class),下面对这三种类加以简要说明:
    (1) 实体类:实体类对应系统需求中的每个实体,它们通常需要保存在永久存储体中,一般使用数据库表或文件来记录,实体类既包括存储和传递数据的类,还包括操作数据的类。实体类来源于需求说明中的名词,如学生、商品等。

    (2) 控制类:控制类用于体现应用程序的执行逻辑,提供相应的业务操作,将控制类抽象出来可以降低界面和数据库之间的耦合度。控制类一般是由动宾结构的短语(动词+名词)转化来的名词,如增加商品对应有一个商品增加类,注册对应有一个用户注册类等

    (3) 边界类:边界类用于对外部用户与系统之间的交互对象进行抽象,主要包括界面类,如对话框、窗口、菜单等。

  • 在面向对象分析和设计的初级阶段,通常首先识别出实体类,绘制初始类图,此时的类图也可称为领域模型,包括实体类及其它们之间的相互关系。

  • 在UML类图中,类使用包含类名、属性和操作且带有分隔线的长方形来表示。

  • 在软件系统中,类并不是孤立存在的,类与类之间存在各种关系,对于不同类型的关系,UML提供了不同的表示方式,下面将逐步详细介绍。参考链接

类的属性的表示方式

在UML类图中,类使用包含类名、属性(field) 和方法(method) 且带有分割线的矩形来表示,比如下图表示一个User类,它包含createTime,userName、userPhone和sex这4个属性,以及getUserInfo(Long id)和getAllUserInfo()方法。
在这里插入图片描述
那么属性或者方法名称前加的加号和减号是什么意思呢?它们表示了这个属性或方法的可见性,UML类图中表示可见性的符号有三种:

  • + :表示public
  • - :表示private
  • #:表示protected(friendly也归入这类)

因此,上图中的User类具有3个私有属性,一个公开属性和两个公有方法。当然啦,不同的建模工具,可能有细微的差别,比如Rational Rose建模工具里,可见性不是用加好和减号表示的,用图标表示的。

实际上,类的属性的完整表示方式是这样的:

可见性  名称 :类型 [ = 缺省值]

中括号中的内容表示是可选的。

类的方法的表示方式

方法的完整表示方式如下:

可见性  名称(参数列表) [ : 返回类型]

同样,中括号中的内容是可选的。

比如在下图的Dept类中,定义了3个方法:
在这里插入图片描述
这三个方法的可见性详解:

  • getDeptInfoById方法可见性为public类型,接收一个Long类型的id参数,返回值类型为Dept
  • getAllDeptInfoList方法可见性为private,该方法无形参,返回值类型为List
  • checkParam方法为可见性protected类型,接收参数类型为Dept,返回值类型为void

类与类之间关系

类和类之间的6种关系:
泛化(Generalization)实现(Realization)关联(Association)聚合(Aggregation)组合(Composition)依赖(Dependency)

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

类之间6种关系汇总:

关系关系如何使用UML图表达
泛化使用带空心三角形的实线表示泛化(继承)关系
实现使用带空心三角形的虚线表示实现关系
关联单向关联使用一个带箭头的实线表示,双向关联使用一个不带箭头的实线表示,自关联使用一个带有箭头且指向自身的实线表示
聚合聚合关系用带空心菱形和箭头的实线表示
组合组合关系用一个带实心菱形和箭头的实线表示
依赖依赖关系用一条带有箭头的虚线表示

下面使用类图,详细介绍每一种关系。

1.1 泛化关系

泛化关系,指的就是:类和类、接口与接口之间的继承关系。继承关系可以用IS-A 表示。

举例:
人是一种高级动物,就可以表示为:Person是一个(IS-A)高级动物,这就是一种继承关系。
在这里插入图片描述
继承使用的是extends关键字,在UML类图中,使用带空心三角形的实线表示泛化(继承)关系,如下图所示中,Person类与Cat类都继承了Animal类。Person和Cat都会继承到Animal的公有方法eat()方法。
在这里插入图片描述

1.2 实现关系

接口是一种特殊的抽象类,实现关系(like a)使用的是implements关键字,在UML类图中,使用带空心三角形的虚线表示实现关系。如下图中,定义了一个抽象动物接口,里面有个公开的eat()方法。使用Dog类实现了Animal接口的eat()方法。
在这里插入图片描述

1.3 关联关系

关联关系指的是,一个类与另一个类之间有某种关联。这种关联关系可以使用HAS-A表示。
关联关系如果进行详细的划分,又可进一步分为单向关联双向关联自关联

  • 单向关联

    我们可以看到,在UML类图中,单向关联使用一个带箭头的实线表示
    在这里插入图片描述

  • 双向关联
    在这里插入图片描述
    从上图中我们很容易看出,所谓的双向关联就是双方各自持有对方类型的成员变量。在UML类图中,双向关联使用一个不带箭头的实线表示。上图中在Dept类中维护一个User类型的成员变量,在User类中,也维护了一个Dept类型的成员变量,这种就属于双向关联。

  • 自关联

    自关联在UML类图中,自关联使用一个带有箭头且指向自身的实线表示
    在这里插入图片描述
    上图的意思就是Node类包含类型为Node的成员变量,也就是“自己包含自己”。

1.4 聚合关系

聚合关系描述的是整体和部分的关系,是一种比较特殊的关联关系。在聚合关系中,整体的生命周期,不会决定部分的生命周期。

比如:
汽车和发动机引擎之间的关系、老师和学生之间的关系,就是整体和部分的关系。
在这里插入图片描述
上图中的Car类与Engine类就是聚合关系(Car类中包含一个Engine类型的成员变量)。由上图我们可以看到,在UML类图中,聚合关系用带空心菱形和箭头的实线表示。聚合关系强调是“整体”包含“部分”,但是“部分”可以脱离“整体”而单独存在。比如上图中汽车包含了发动机引擎,汽车脱离了发动机是可以单独存在的,而发动机引擎脱离了汽车也能单独存在。

1.5 组合关系

组合关系也可以看作是一种特殊的聚合关系,是一种比聚合关系还要强的关系。整体的生命周期决定部分的生命周期,部分是依附在整体上面的,有时候也有人称为合成关系
组合关系与聚合关系最大的不同在于:组合关系这里的“部分”脱离了“整体”是无法存活的,部分就不复存在。比如下图人体和细胞的关系:
在这里插入图片描述
细胞组成人的一部分,显然,细胞脱离了人,是不能单独存在的。在UML类图中,组合关系用一个带实心菱形和箭头的实线表示

1.6 依赖关系

依赖关系是比关联关系弱的一种关系,是所有关系中最弱的一种,在java语言中体现为返回值,参数,局部变量和静态方法调用。
在这里插入图片描述
从上图我们可以看到,汽车驾驶员CarDriver的drive方法只有传入了一个Car对象才能发挥作用,因此我们说CarDriver类依赖于Car类。在UML类图中,依赖关系用一条带有箭头的虚线表示


好啦,UML类之间的6种关系介绍完了,如果这篇文章对你有帮助,欢迎给个赞,您的支持,是博主创作最大的动力!

写博客是为了记住自己容易忘记的东西,另外也是对自己工作的总结,希望尽自己的努力,做到更好,大家一起努力进步!

如果有什么问题,欢迎大家一起探讨,代码如有问题,欢迎各位大神指正!

给自己的梦想添加一双翅膀,让它可以在天空中自由自在的飞翔!


  1. 职责指的是一个类要完成什么样的功能,要承担什么样的义务。 ↩︎

  • 31
    点赞
  • 91
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
实验一 实验名称:业务建模 一、实验目的 1.熟悉业务建模内容。 2.掌握如何使用建模工具rational rose绘制业务模型图。 3.学习使用Microsoft Project对题目进行进度安排。 二、实验器材 1.计算机一台。 2.Rational Rose 工具软件。 三、实验内容 根据图书管理系统开发进度,在完成对系统的需求建模,得到用例模型后,应针对每个用例进行业务分析,说明其具体的业务流程,现系统分析部指派您完成该项任务。 要求: 1、创建业务用例模型。(参与者--用例)。 2、用活动图来描述系统核心业务过程。 3、创建业务对象模型。 四、实验步骤 1. 系统当前业务描述 …………………………… 2. 系统业务用例模型 ………………………….. 3. 核心业务用例的活动图 …………………………. 4. 系统业务对象模型 ………………………… 五、 实验心得 实验二 用例建模 一、 实验目的: 通过学生对提供的案例进行用例建模,熟练掌握用例建模技术。 二、主要实验仪器设备及环境 1. 计算机:安装有:操作系统为windows 2000,WindowsXP Professional; 2. 软件:National rose 三、实验内容: 1. 认真阅读案例的需求,根据其内容建立相应的用例模型; 2. 选择主要用例进行事件流分析,并把分析结果作为说明文档附在用例模型中; 四、实验步骤: 1. 系统参与者 2. 系统用例 3. 系统用例模型 4. 用例文档(主要用例) 五、实验心得 (对用例模型、用例的粒度、关系的理解) 实验三 顺序图 一、实验目的 1.理解顺序图的基本概念。 2. 掌握在Rational Rose中绘制交互图的操作方法。 3. 细化用例文档中的事件流,绘制顺序图。 二、实验器材 1.计算机一台。 2.Rational Rose 工具软件。 三、实验内容 通过对系统动态模型部分的学习,根据用例建模阶段的用例图和用例文档,对对应的用例实现用顺序图来描述系统的动态特性。完成如下任务: 对选定系统中的主要用例进行动态建模(顺序图)。 四、实验步骤 1.在logic view中创建“分析模型”包,在该包中添加“用例实现”包,在“用例实现”包中添加跟踪关系图(图),在跟踪关系图中描述用例与用例实现的关系。为系统中主要的用例实现添加顺序图。 如下图: 2.在logic view中分别添加三个包(构造型:layer):边界层、控制层、实体层。主要根据用例文档来识别分析(边界、控制、实体)。如下图: 3.对主要的用例实现,根据细化用例文档中的主要事件流。 ……………………………………… 4.结合用例实现中识别出来的分析,绘制顺序图。如下图: ……………………………………… 五:实验心得: 实验四 系统分析图 一、实验目的 1.识别分析之间关系的属性和操作。 2.使用ROSE软件构建系统的分析图。 二、实验器材 1.计算机一台。 2.Rational Rose 工具软件。 三、实验内容 根据***系统开发进度,在完成对系统的需求建模,得到用例模型后,应针对每个用例进行分析,识别出分析,识别的属性和方法,构建每个用例的VOPC图,综合所有用例的VOPC图,构建系统的分析图 要求: 1、针对每个用例实现构建其VOPC图 2、综合所有VOPC图,构建系统的分析图 四、实验步骤 1. 对每个用例实现识别分析,根据需求、常识识别的属性,根据交互图识别的方法,在每个用例实现下创建一个图,命名为 **用例的VOPC图(借书用例VOPC) 2. 综合所有VOPC图,在系统分析包中创建一个图,命名为系统分析图 3. 通过用例实现顺序图中的消息映射出分析的操作(如下图)。 ……………………………………. 4. 根据用用例文档映射出的属性(如下图)。 ……………………………………….. 五、实验总结 实验五 实验名称:子系统和接口 一、实验目的 1.基于分析阶段的BCE架构,抽取子系统。 2.根据包设计原则,对系统组织结构进行设计 。 二、实验器材 1.计算机一台。 2.Rational Rose 工具软件。 三、实验内容 根据指定系统的开发进度,已经完成对系统用例分析,应用BCE架构构建了系统的组织结构。本次实验主要根据抽取子系统的方法设计子系统、子系统接口,然后根据打包原则重构系统组织结构 要求: 1、抽取子系统,设计相应接口 2、利用包图设计系统架构 四、实验步骤 1. 抽取子系统 子系统是一种特殊的包,采用构造型《subsystem》扩展包的寓意,子系统内部是完全封装的,子系统提供接口对外服务。  你抽取子系统是依据什么角度(从那几个方面收取子系统?教材P263) ………文字描述子系统及抽取角度…………………… 2. 接口设计 接口是子系统对外提供的服务。接口采用构造型《interface》通过对进行扩展表示 ……………子系统和接口的关系及几口中的操作,如P262 8-11图…….. 3. 更新软件架构 …………系统架构更新后的包图,如图8-17………………. 五、 实验心得 实验四 (系统静态模型)分析图 一、实验目的 1.识别分析关系的属性和操作。 2.使用UML工具软件构建系统的分析图。 二、实验器材 1.计算机一台。 2.Rational Rose 工具软件。 三、实验内容 根据***系统开发进度,在完成对系统的需求建模,得到用例模型后,应针对每个用例进行分析,识别出分析,识别的属性和方法,构建每个用例的VOPC图,综合所有用例的VOPC图,构建系统的分析图 要求: 1、针对每个用例实现构建其VOPC图 2、综合所有VOPC图,构建系统的分析图 3、根据顺序图为添加操作 4、根据需求和用例文档为添加属性 四、实验步骤 1. 对每个用例实现识别分析,根据需求、常识识别的属性,根据交互图识别的方法,在每个用例实现下创建一个图,命名为 **用例的VOPC图(借书用例VOPC) 1) 添加VOPC图 2) 打开vopc图,把该用例中的边界、控制、实体拖入其中,并建立关系 2. 通过用例实现顺序图中的消息映射出分析的操作(如下图)。 把每个收到的消息映射为该的一个操作。下面以申请边界为例: 3. 根据用用例文档映射出的属性(如下图)。 1) 打开某个的规格说明,选择“属性”选项卡,在编辑窗口中点击鼠标右键,在菜单中“Insert”,可以为添加属性 . 2) 例: 4. 综合所有的VOPC图,创建完整的系统分析图 1) 在分析模型包下添加一个图:命名为系统分析图 2) 打开系统分析图,把边界包、控制包、实体包中的所有拖入系统分析图中,由于的属性和操作、之间关系已经在每个图中已经描述,所以在系统分析图中会自然体现出来。 五、实验总结
实验一 实验名称:业务建模 一、实验目的 1.熟悉业务建模内容。 2.掌握如何使用建模工具rational rose绘制业务模型图。 3.学习使用Microsoft Project对题目进行进度安排。 二、实验器材 1.计算机一台。 2.Rational Rose 工具软件。 三、实验内容 根据图书管理系统开发进度,在完成对系统的需求建模,得到用例模型后,应针对每个用例进行业务分析,说明其具体的业务流程,现系统分析部指派您完成该项任务。 要求: 1、创建业务用例模型。(参与者--用例)。 2、用活动图来描述系统核心业务过程。 3、创建业务对象模型。 四、实验步骤 1. 系统当前业务描述 …………………………… 2. 系统业务用例模型 ………………………….. 3. 核心业务用例的活动图 …………………………. 4. 系统业务对象模型 ………………………… 五、 实验心得 实验二 用例建模 一、 实验目的: 通过学生对提供的案例进行用例建模,熟练掌握用例建模技术。 二、主要实验仪器设备及环境 1. 计算机:安装有:操作系统为windows 2000,WindowsXP Professional; 2. 软件:National rose 三、实验内容: 1. 认真阅读案例的需求,根据其内容建立相应的用例模型; 2. 选择主要用例进行事件流分析,并把分析结果作为说明文档附在用例模型中; 四、实验步骤: 1. 系统参与者 2. 系统用例 3. 系统用例模型 4. 用例文档(主要用例) 五、实验心得 (对用例模型、用例的粒度、关系的理解) 实验三 顺序图 一、实验目的 1.理解顺序图的基本概念。 2. 掌握在Rational Rose中绘制交互图的操作方法。 3. 细化用例文档中的事件流,绘制顺序图。 二、实验器材 1.计算机一台。 2.Rational Rose 工具软件。 三、实验内容 通过对系统动态模型部分的学习,根据用例建模阶段的用例图和用例文档,对对应的用例实现用顺序图来描述系统的动态特性。完成如下任务: 对选定系统中的主要用例进行动态建模(顺序图)。 四、实验步骤 1.在logic view中创建“分析模型”包,在该包中添加“用例实现”包,在“用例实现”包中添加跟踪关系图(图),在跟踪关系图中描述用例与用例实现的关系。为系统中主要的用例实现添加顺序图。 如下图: 2.在logic view中分别添加三个包(构造型:layer):边界层、控制层、实体层。主要根据用例文档来识别分析(边界、控制、实体)。如下图: 3.对主要的用例实现,根据细化用例文档中的主要事件流。 ……………………………………… 4.结合用例实现中识别出来的分析,绘制顺序图。如下图: ……………………………………… 五:实验心得: 实验四 系统分析图 一、实验目的 1.识别分析之间关系的属性和操作。 2.使用ROSE软件构建系统的分析图。 二、实验器材 1.计算机一台。 2.Rational Rose 工具软件。 三、实验内容 根据***系统开发进度,在完成对系统的需求建模,得到用例模型后,应针对每个用例进行分析,识别出分析,识别的属性和方法,构建每个用例的VOPC图,综合所有用例的VOPC图,构建系统的分析图 要求: 1、针对每个用例实现构建其VOPC图 2、综合所有VOPC图,构建系统的分析图 四、实验步骤 1. 对每个用例实现识别分析,根据需求、常识识别的属性,根据交互图识别的方法,在每个用例实现下创建一个图,命名为 **用例的VOPC图(借书用例VOPC) 2. 综合所有VOPC图,在系统分析包中创建一个图,命名为系统分析图 3. 通过用例实现顺序图中的消息映射出分析的操作(如下图)。 ……………………………………. 4. 根据用用例文档映射出的属性(如下图)。 ……………………………………….. 五、实验总结 实验五 实验名称:子系统和接口 一、实验目的 1.基于分析阶段的BCE架构,抽取子系统。 2.根据包设计原则,对系统组织结构进行设计 。 二、实验器材 1.计算机一台。 2.Rational Rose 工具软件。 三、实验内容 根据指定系统的开发进度,已经完成对系统用例分析,应用BCE架构构建了系统的组织结构。本次实验主要根据抽取子系统的方法设计子系统、子系统接口,然后根据打包原则重构系统组织结构 要求: 1、抽取子系统,设计相应接口 2、利用包图设计系统架构 四、实验步骤 1. 抽取子系统 子系统是一种特殊的包,采用构造型《subsystem》扩展包的寓意,子系统内部是完全封装的,子系统提供接口对外服务。  你抽取子系统是依据什么角度(从那几个方面收取子系统?教材P263)
第1章课程定位与教学案例综述. 1.1职业岗位能力需求分析 1.2课程设置和课程定位分析 1.3WebShop电子商城介绍 1.3.1电子商城需求分析 1.3.2电子商城系统设计 1.3.3电子商城数据库设计 1.4LibraryMIS图书管理系统介绍 1.4.1图书管理系统需求分析 1.4.2图书管理系统系统设计 1.4.3图书管理系统数据库设计 习题 第2章面向对象技术和建模基础 2.1面向对象方法 2.1.1面向对象方法的基本思想 2.1.2面向对象方法的发展 2.2面向对象的基本概念与特征 2.2.1面向对象的基本概念 2.2.2面向对象的主要特征 2.3面向对象分析 .2.3.1处理复杂问题的原则 2.3.200A方法的基本步骤 2.4面向对象设计 2.5面向对象实现 2.6面向对象方法的内涵 2.7软件建模概述 2.7.1软件建模的概念 2.7.2软件建模的用途 2.7.3软件建模的优点 习题 第3章UML简介 3.1UML的发展 3.1.1UML的发展历程 3.1.2理解UML建模 3.2UML的特点 3.3UML的结构 3.3.1UML的事物 3.3.2UML关系 3.4UML的视图 3.4.1用例视图 3.4.2逻辑视图 3.4.3并发视图 3.4.4组件视图 3.4.5部署视图 3.5UML图形符号 3.5.1用例图 3.5.2图 3.5.3对象图 3.5.4状态图 3.5.5活动图 3.5.6顺序图 3.5.7协作图 3.5.8组件图 3.5.9部署图 3.5.10UML 2.0新特性 3.6UML建模基本流程 习题 第4章UML建模工具简介 4.1常用UML建模工具 4.1.1 Rational Rose 4.1.2Enterprise Architect 4.1.3Together 4.1.4PowerDesigner 4.1.5 Visi0 4.1.6Tnffun Plat0 4.2Rational Rose安装与配置 4.2.1Rational Rose的运行环境 4.2.2Rational Rose的安装 4.2.3Rational Rose的配置 4.3使用Rational Rose建模 4.3.1Rational Rose主菜单 4.3.2Rational Rose的视图 4.3.3 Rational Rose建模的基本过程 习题 第5章需求建模 5.1用例模型概述 5.2用例图组成 5.2.1参与者 5.2.2系统 5.2.3用例 5.3识别和描述用例.. 5.3.1识别用例 5.3.2绘制WebShop电子商城用例图 5.3.3通过包对用例进行合理规划 5.3.4WebShop电子商城用例图(不含关系) 5.3.5用例描述 5.4用例间的关系 5.4.1泛化关系 5.4.2使用关系 5.4.3包含关系 5.4.4扩展关系 5.4.5关系小结 5.4.6WebShop电子商城用例图(含关系) 习题 第6章静态建模 6.1静态建模概述 6.2图概述 6.3图的基本组成 6.3.1的概述 6.3.2绘制带属性的实体 6.3.3绘制带操作的实体 6.3.4绘制边界图 6.3.5绘制控制图 6.3.6UML中的与语言中的 6.4之间关系 6.4.1关联关系 6.4.2聚合关系 6.4.3组合关系 6.4.4泛化关系 6.4.5实现关系 6.4.6依赖关系 6.5对象图 6.5.1对象图概述 6.5.2对象图组成 6.5.3图和对象图的比较 习题 第7章数据库建模 7.1PowerDesigner简介 7.2PowerDesigner安装和启动 7.2.1PowerDesigner的安装 7.2.2PowerDesigner的启动 7.3PowerDesigner概念数据模型 7.3.1概念数据模型概述 7.3.2PowerDesigner概念数据模型概述 7.4 PowerDesigner物理数据模型 习题 第8章动态建模 8.1动态建模概述 8.2状态图 8.2.1状态图概述 8.2.2状态图组成 8.2.3绘制员工下班回家状态图 8.3活动图 8.3.1活动图概述 8.3.2活动图组成 8.3.3绘制WebShop电子商城活动图 8.4活动图拾遗 8.4.1活动图与流程图的比较 8.4.2活动图与状态图的比较 8.5顺序图 8.5.1顺序图概述 8.5.2顺序图组成 8.5.3绘制WebShop电子商城顺序图 8.6协作图 8.6.1协作图概述 8.6.2协作图组成 8.6.3绘制WebShop电子商城协作图 8.7 顺序图拾遗 8.7.1 顺序图与协作图的比较 8.7.2 顺序图与协作图的互换 习题 第9章物理建模 9.1物理建模概述 9.1.1硬件 9.1.2软件 9.2组件图 9.2.1组件图概述 9.2.2组件图组成 9.2.3绘制WebShop电子商城组件图 9.3部署图 9.3.1部署图概述 9.3.2部署图组成 9.3.3绘制WebShop电子商城部署图 习题 第10章双向工程 10.1双向工程简介 10.2正向工程(生成Java代码) 10.3逆向工程 习题 第11章统一软件过程RUP 11.1RUP简介 11.2RUPT作流程 11.2.1业务建模 11.2.2需求 11.2.3分析设计 11.2.4实施 11.2.5测试 11.2.6部署 11.2.7配置与变更管理 11.2.8项目管理 11.2.9环境 11.3RUP迭代过程 11.3.1初始 11.3.2细化 11.3.3构造 11.3.4移交 11.3.5迭代计划示例(构造阶段) 习题 附录A综合实训 附录B Rational Rose2003主菜单 参考文献...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值