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类图相同的符号和关系,因为对象就是类的实例。下图显示了对象图的模型。其中节点可以是对象也可以是类,连线表示对象之间的关系: