首页 > 技术文章 > UML静态类图

liuhan333 2016-05-23 19:29 原文

0,
主要分为类、接口、协作、关系,这四种元素。
作用:a,显示类、接口以及他们之间的静态结构和关系;b,用于描述系统的结构化设计。

1,类

CStudent

+m_strName : string

+Study() : void


类名:
属性:[可见性]属性名 [:类型] [=初试值] [{属性字符串}]
操作:[可见性]操作名[(参数表)] [:返回类型] [{属性字符串}]
+(public), -(private), #(protected), ~(package)

2,接口

<<interface>>
CPerson

+Eat() : void

接口是对对象行为的描述,一个类可有一个或多个接口。

3,协作
在一定的语境中一组对象以及实现某些行为的对象间的相互作用。

4,关系
1),泛化Generalization
a,是一种继承关系,它指定子类如何特例化父类的所有特征和行为。
b,用带空心箭头的实线表示,箭头指向父类。


2),实现Realization
a,是一直类与接口的关系,表示类是接口所有特征和行为的实现。
b,用带空心的虚线表示,箭头指向接口。


3),关联Association
3.1)、一般关联
a,类与类直接的联结,它使一个类知道另一个类的属性和方法,指明了事物对象间的联系。
b,用带箭头的实线表示。双向关联两边都无箭头,单向关联有一个箭头。
c, 在每个端点可以有一个基数, 表示这个关联的类可以有几个实例。
0..1:0 1 个实例
0..*: 
对实例的数目没有限制
1: 
只能有一个实例
1..*: 
至少有一个实例
d,
表现在代码层面,为被关联类B以类属性的形式出现在关联类A中,也可能是关联类A引用了一个类型为被关联类B的全局变量。



3.2)、聚合Aggregation
a,整体与部分的关系,且部分可以离开整体单独存在。聚合属于关联中的一中,是强关联关系。
b,用带空心菱行实线表示,菱形指向整体。


3.3)、组合Composition
a
, 整体与部分的关系,且部分不能离开整体单独存在。是比聚合还强的关系。它要求整体对象负责其中部分对象的生命周期。
b, 用带实心菱行实线表示,菱形指向整体。

5,依赖Dependency
a, 元素A的变化会影响元素B,那么B是A的依赖关系。避免双向依赖,关联、实现、泛化都是依赖关系。
b, 带虚线的箭头表示,箭头指向被依赖元素。

6,

推荐阅读