UML类图和对象图概念及其区别解析

开发 架构
你对UML类图和对象图的概念是否了解,这里就向大家简单介绍一下这两种图的概念,另外本文还描述了UML类图和对象图的区别。

本文和大家重点讨论一下UML类图和对象图的概念,UML类图Class Diagram)是描述类、接口、协作以及它们之间关系的图,用来显示系统中各个类的静态结构,而对象图(Object Diagram)描述的是参与交互的各个对象在交互过程中某一时刻的状态。

UML类图的概念

一、概述

UML类图(Class Diagram)是描述类、接口、协作以及它们之间关系的图,用来显示系统中各个类的静态结构。UML类图是定义其他图的基础,在UML类图基础上,可以使用状态图、协作图、组件图和配置图等进一步描述系统其他方面的特性。

UML类图包括7个元素:类(Class)、接口(Interface)、协作(collaboration)、依赖关系(Dependency)、泛化关系(Generalization)、关联关系(Association)以及实现关系(Realization)。

二、类

类定义了一组有着状态和行为的对象。其中,属性和关联用来描述状态。属性通常用没有身份的数据值表示,如数字和字符串。关联则用有身份的对象之间的关系表示。行为由操作来描述,方法是操作的实现。对象的生命期则由附加给类的状态机来描述。

1、 名称:类的名称是每个类中所必有的构成元素。

2、 属性(Attribute)

(1) 可见性:类中属性的可见性主要包括公有(public)、私有(Private)和受保护(Protected)。在UML中,公有类型的用“+”表达,私有类型用“-”表达,而受保护类型则用“#”表达。UML的类中不存在默认的可见性,如果没有显示任何一种符号,就表示没有定义该属性的可见性。

(2) 属性名:按照UML的约定,单字属性名小写。如果属性名包含多个单词,这些单词要合并,且除了***个单词外其余单词的首字母要大写。

(3) 属性字符串。属性字符串用来指定关于属性的其他信息,例如某个属性应该是***的。任何希望添加在属性定义字符串值但又没有合适地方可以加入的规则,都可以放在属性字符串里。

(4) 类属性。属性也可以作为一个类属属性来定义,这就意味着此属性被该类的所有对象共享。在UML类图中,类属性带有一条下划线。

3、 操作。类的操作是对类的对象所能做的事务的抽象,相当于一个服务的实现。

4、 职责:在操作部分下面的区域,可以用来说明类的职责。职责是类或其他元素的契约或义务。类的职责是是自由形式的文本,写一个短语,一个句子等。在UML中,把职责列在UML类图底部的分隔栏中。

5、 约束。说明类的职责是消除二义性的一种非形式化的方法,形式化的方法是使用约束。约束指定了该类所要满足的一个或多个规则。在UML中,约束是用一个花括号括起来的自由文本。

三、接口

接口包含操作但不包含属性,且它没有对外界可见的关联。

四、类之间的关系

类之间的关系最常见的有四种:依赖关系、泛化关系、管理关系、实现关系。

 UML对象图

一、概述

UML对象图(Object Diagram)描述的是参与交互的各个对象在交互过程中某一时刻的状态。对象图可以被看作是UML类图在某一时刻的实例。

在UML中,对象图使用的是与UML类图相同的符号和关系,因为对象就是类的实例。下图显示了对象图的模型。其中节点可以是对象也可以是类,连线表示对象之间的关系:


二、UML类图和对象图的区别

 

【编辑推荐】

  1. 全面认识UML类图建模技术
  2. 详解八大UML类图符号的表示法
  3. 正确辨析UML类图的两种存在形式
  4. UML类图关系中关联、依赖、聚集等关系的异同
  5. 解析UML类图关系中UML关联和其他关系的区别和联系

 

责任编辑:佚名 来源: uml.org.cn
相关推荐

2010-07-09 15:13:42

UML对象图

2010-07-02 12:22:53

UML对象图

2010-07-12 10:25:44

UML类图

2010-06-11 18:09:26

UML对象图

2010-07-12 13:39:10

UML对象图

2010-07-12 09:52:24

UML包图

2010-07-09 09:16:22

UML包图

2010-07-01 17:18:02

UML包图

2010-07-02 13:34:06

UML交互图

2010-07-05 14:48:25

UML静态结构图

2010-06-11 17:59:24

UML对象图

2010-07-05 09:01:29

UML静态模型图

2010-06-18 14:56:15

UML综合实例

2010-07-06 15:57:58

UML图形

2010-07-02 09:54:38

UML部署图

2010-07-12 14:16:19

UML活动图

2010-07-09 10:26:35

UML类图关系

2010-06-13 14:37:04

UML实践

2010-07-02 09:21:34

UML部署图

2010-07-08 14:58:29

UML类图关系
点赞
收藏

51CTO技术栈公众号