UML中类图的符号解释
- 格式:doc
- 大小:52.50 KB
- 文档页数:4
uml图中实线箭头和虚线箭头的区别
概念:
实线箭头表⽰单向关联,即:关联类知道被关联类的公共属性及操作,但被关联类并不知道关联类的公共属性及操作。
关联单向、双向之分。
双向关联⽤没有箭头的实线表⽰,实线箭头表⽰Object Message,也就是类间的消息发送,
⽐如:⽅法调⽤和请求等等,这些都是从⼀⽅向另⼀⽅主动发出信息。
虚线箭头表⽰两个类之间存依赖关系。
即:⼀个类引⽤另⼀个类。
只存在单向依赖。
虚线箭头表⽰Return Message,⼀般⽤于表⽰⽅法调⽤后的返回信息
代码中的表现:
实线代表有引⽤的关联,⼀般代码中会直接有关联的类的引⽤,但虚线就没有,⼀般知识⽅法上的调⽤关系。
如是⽽已。
uml各种箭头线的区别UML中箭头线有多种类型,它们的主要区别在于它们表示的关系和含义不同。
以下是UML中箭头线的主要类型及其区别:1. 类箭头(Class 流向):表示从一个类流向另一个类的过程。
- 类箭头“->”表示从一个类流向另一个类。
- 服务箭头“->”表示从一个服务流向另一个服务。
- 继承箭头“."表示从一个类继承属性或方法到另一个类。
- 组合箭头“//”表示从一个类或服务组合成一个对象的过程。
2. 连接箭头(Association 流向):表示对象之间或类之间某种交互关系。
- 属性连接箭头“:”表示对象之间的属性关系。
- 方法连接箭头“->”表示对象之间的方法关系。
- 服务连接箭头“!”表示对象之间的服务关系。
- 聚合连接箭头“//”表示对象之间的聚合关系。
3. 聚合箭头(Association 聚合):表示对象之间的某种交互关系,同时也可以表示多个对象之间的聚合关系。
- 聚合箭头“->”表示一个对象引用另一个对象,并传递引用的值。
- 聚合箭头“//”表示多个对象之间的共享值关系。
- 聚合箭头“."”表示一个对象引用多个对象,并传递引用的值。
4. 关系箭头(Relationship 流向):表示对象之间的关系。
- 引用关系箭头“->”表示两个对象之间的引用关系。
- 连接关系箭头“."”表示一个对象之间的连接关系。
- 继承关系箭头“."”表示一个对象继承属性或方法到另一个对象的关系。
- 组合关系箭头“."”表示一个对象组合成另一个对象的关系。
UML箭头线的主要类型包括类箭头、连接箭头、聚合箭头和关系箭头,根据它们表示的关系和含义不同,可以用于不同的场景。
StartUML是一种支持UML的建模平台软件,可以绘制9款UML 图,包括用例图、类图、序列图、状态图、活动图等。
在StartUML中,注释(Comment)是一个非常重要的元素,可以用来对模型元素进行解释和说明。
在StartUML中,注释可以用双斜线(//)或单斜线(/ /)开头,也可以用特定的符号(如@、#等)标识注释的类型。
注释可以放在模型的任何元素上,包括类、接口、属性和操作等。
注释在UML图中通常用一条横线连接模型元素和注释文本,以表明它们之间的关系。
注释可以单独占据一个行或一个区域,也可以与模型元素放置在一起。
注释文本可以包含任何内容,包括文本、数字、日期等。
在StartUML中,注释可以用来解释模型元素的含义、用途、行为等,也可以用来记录设计决策、注意事项、版本信息等。
注释还可以用来标记模型元素的特定属性或特征,以便在后续的开发过程中进行跟踪和修改。
总之,注释是StartUML中非常重要的元素之一,可以用来解释、说明和标记模型元素,以便更好地理解和使用UML图。
依赖继承符号
在UML(统一建模语言)中,依赖、继承和关联的符号表示如下:
1. 依赖:表示一个类A使用到了类B,但类B并不是类A的一部分。
这通常用带空心箭头的虚线表示,箭头的指向表示依赖的方向。
2. 继承:表示一个类(子类)继承另一个类(父类)的属性与行为。
这通常用带实心箭头的实线表示,箭头的指向是从父类指向子类。
3. 关联:表示两个类之间存在某种关系,这种关系通常表现为类的属性类型。
这通常用实线表示,如果关系是双向的,则没有箭头;如果是单向的,则用箭头表示方向。
以上信息仅供参考,建议查阅关于UML的书籍或者咨询技术人员了解更多关于UML的符号表示。
1、依赖关系2、继承关系3、聚合关系4、合成(组合)关系5、关联关系6、接口一、依赖:虚线箭头。
有箭头的那一端为被依赖关系。
代码体现:在一个类中,某个方法的参数为另外一个类(或几个类)的类型。
pblic classA{public int Sales(classB clsB){}REM sales是classA中的一个函数}二、继承:空心三角+实线表示。
有三角的那端为被继承者。
代码体现:一个类在声明的时候后面加“:”和被继承类的类名。
例如:class bird:animal.三、聚合:空心菱形+实线箭头。
箭头那端为被包含的对象。
即对象A可以包含对象B,但是对象B不一定是对象A的一部分。
代码体现:在一个类中有另一个类的对象,而且可以使对象数组。
public class classA{public classB() clsB}四、合成(组合):实心菱形+实线箭头。
箭头那端为被组合的对象。
代码体现:在A类中,初始化时,实例化B类。
它们同时生成。
(如何生成A类?)。
public class classA{private classB clsB{clsB=new classB();}}五、关联:实线箭头。
箭头那端表示被引用的对象。
一个类要知道另一个类。
代码体现:在一个类中,引用到另一个类。
(如何引用类?)例如:class class1{private class2 cls1;}六、接口:空心三角+虚线。
三角那端是定义接口类。
代码体现:定义一个类的时候加“:”和接口名。
在类中重写接口中的方法。
UML之用例图箭头方向2009年10月16日星期五 09:42 P.M.UML之用例图(use case)箭头方向:老是忘记箭头方向,惹笑话。
1、Association,无箭头,Actor连接UseCase即可;2、DirectedAssocition,Actor连接UseCase,箭头由Actor指向UseCase (角色指向用例);3、Generalization,继承,我把它念成“继承于”,当然是箭头由子指向父啦;4、Dependency,我念成“依赖于”,就知道箭头方向了;5、Include,我念成“包含了”,箭头由包含者指向被包含者;6、Extend,我念成“扩展于”或“扩展自”,箭头由扩展出来的“子”指向它的“父”;总结:除了包含方向外,其它都是“小”的指向“大”的,“子”指向“父”,“一般”指向“抽象”。
第3章统一建模语言UML简介本章目录第3章统一建模语言UML简介.............................................................. 错误!未定义书签。
3.1 UML概述 (1)3.1.1 UML的产生背景 (1)3.1.2 什么是UML (2)3.1.3 UML中的视图 (3)3.2 UML的构成 (4)3.2.1 UML的体系结构 (4)3.2.2 UML的模型元素 (5)3.2.3 UML的模型结构 (5)3.2.4 UML的模型图 (6)3.2.5 UML建模规则 (7)3.2.6 UML的公用机制 (8)3.3 一个UML的例子 (8)3.3.1 用例图 (9)3.3.2 活动图 (9)3.3.3 顺序图 (10)3.3.4 协作图 (11)3.3.5 类图 (12)3.3.6 状态图 (12)3.3.7 组件图 (13)3.3.8 部署图 (13)建模是为软件开发服务的,因此,如果模型所包含的信息足够完备,就可以以这些信息为基础,进行软件系统的建造。
统一建模语言UML是一种总结了以往建模技术的经验并吸收当今优秀成果的标准建模技术,利用UML表达的软件模型,可以直接和某种设计语言建立映射关系,通过UML建造工具,将UML模型转换为对应的程序设计语言源代码框架。
本章简要地回顾了UML的产生背景与UML的视图,重点介绍UML的体系结构和建模规则等内容。
3.1 UML概述UML是一个通用的可视化建模语言,是用于对软件进行描述、可视化处理、构造和建立软件系统制品的文档。
其中制品是指软件开发过程中产生的各种产物,例如模型、源代码、测试用例等。
UML适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域及各种开发工具。
3.1.1 UML的产生背景早在20世纪70年代就陆续出现了面向对象的建模方法,在80年代末到90年代中期,各种建模方法如雨后春笋般出现,从不到10种增加到50多种。
uml表示构造方法
构造方法是一种特殊类型的方法,用于创建对象并初始化其属性。
在UML (统一建模语言)中,我们可以使用类图来表示构造方法。
构造方法在类图中以类的名称下方放置,使用特殊的构造符号(一个矩形,其上面包含类的名称和参数列表)表示。
构造符号上方通常会显示构造方法的可见性修饰符(如+表示公共,-表示私有)。
构造方法的名称和参数列表在构造符号内部定义。
参数列表包含方法需要接收的参数名称和类型。
如果构造方法不需要任何参数,则参数列表为空。
例如,假设我们有一个名为"Person"的类,具有以下属性:name(姓名)和age(年龄)。
我们可以使用UML类图表示该类的构造方法如下:```
+Person(name: String, age: int)
```
上述类图表示了一个公有的构造方法,使用两个参数name和age,这样我们可以实例化"Person"对象时传递姓名和年龄参数。
需要注意的是,UML类图只展示了构造方法的签名,即方法的名称和参数列表。
方法的具体实现代码在UML类图中是不可见的。
总结起来,UML类图可以简洁地表示构造方法的存在,参数列表和可见性修饰符。
这有助于我们更好地理解一个类的构造方法如何创建和初始化对象的属性。
在UML的定义中,描述类和对象之间的关系,包括以下几种方式:依赖(Dependency)、关联(Association)、聚合(Aggregation)、组合(Composition)、泛化(Generalization)和实现(Realization)。
现分别说明如下:
1. 依赖(Dependency)
在uml中,“依赖”表示为带箭头的虚线,箭头指向被依赖的元素。
是类与类之间的连接,表示为一个类依赖于另一个类的定义,其中一个类的变化将影响另一个类。
依赖总是单向的,不应该存在双向依赖,这一点要特别注意。
更具体的说,依赖可以理解为:一个类(A)对不在其实例作用域内的另一个类或对象(B)的任何类型的引用。
大致包含以下几种情况:
(1)局部变量;
(2)方法的参数;
(3)静态方法的调用;
下面是依赖关系的uml示意图:
2. 关联(Association)
在uml中,关联表示为带箭头的实线。
关联可以是单向的,也可以是双向的。
如果是双向关联,则可以表示为双向箭头,或者没有箭头。
一般来说,系统设计应表现为单向关联,这样利于维护。
一个关联可以附加“多重性”的修饰符,表示两个类之间的数量关系。
关联可以理解为:一个类(A)持有另一个类或对象(B)。
具体表现为:
(1)成员变量
下面是关联关系的uml示例图:
上面的关联表示,一个Employee持有(has)0个或多个TimeCard。
3. 聚合(Aggregation)
在uml中,聚合关系表示为空心的菱形箭头线。
聚合关系是关联关系的一种,表示一种“强”关联关系。
对比与关联关系,两个类是处于同一个层次的。
而聚合关系,两个类处于不同的层次,强调了一个整体/局部的关系。
例如一辆汽车有一个引擎,4个轮胎。
在聚合关系中,体现了一种“弱拥有”的概念。
也就是说,对象A拥有对象B,但B并不是A的组成部分。
更具体的表现为,如果A由B聚合而成,则A包含B的全局对象,但B对象可以不在A对象创建时创建。
回到前面的例子,汽车对象由轮胎对象聚合而成,但是轮胎对象的生命期并不受汽车对象的左右。
当汽车对象销毁时,轮胎对象也可以单独存在!
下面是聚合关系的uml示意图:
从代码上看,聚合和关联没有任何区别。
这里仅仅体现一种概念上的含义。
在创建ClassA的时候,不一定需要同时创建ClassB的实例。
4. 组合(Composition)
在uml中,组合关系表示为实心菱形箭头线。
组合也叫合成。
合成关系强调了比聚合关系更加强的整体/部分的关联,例如人和四肢。
和聚合关系所不同的是,在组合关系中,虽然局部不一定随着整体的销毁而销毁,但整体要么负责保持局部的存活状态,要么负责将其销毁。
也就是说,组合关系中,局部的存活期一定是小于,最多是等于整体的存活期的。
下面是组合关系的uml示例图:
5. 泛化(Generalization)与实现(Realization)
泛化也就是通常所谓的继承关系,在uml中表示为一个带空心三角的实线。
表示为is-a的关系,是对象间耦合度最大的一种关系,子类继承父类的所有细节,并可以在此基础上添加自己的特性。
下面是泛化关系的uml图:
所谓实现就是对接口的定义实现,很简单。
表现为带箭头的虚线。
下面的实现的uml图:。