类图是面向对象系统建模中最常见的图,类图显示了一组类、接口、协作以及它们之间的关系。类图用于对系统的静态设计视图建模。 在UML中类以矩形表示,具有名称、属性、操作、和关系等描述。接下来我们将全面的对类里面的每个元素的表现作出详细的介绍。
[转自:http://www.cnblogs.com/fenglin1985/archive/2010/04/10/1709209.html]
- 类:
- 在UML中类以一个矩形表示,类的名称用一个字符串表示。
- 抽象类通过将类名改为斜体字表示。
- 不能继承的类(叶子类,封闭类)通过在类名下面增加 leaf 特性说明。
- 在UML中类以一个矩形表示,类的名称用一个字符串表示。
- 属性:
- 属性在类下面的栏中列出,可以仅显示属性名。
- 静态属性通过在属性名下加下划线表示。
- 属性其他特征完整语法: [可见性] 属性名 [':'类型] [多重性] ['='初始值] [{特性串]}]
- 不能重写属性通过在特性串中增加 leaf 特性说明。
- 属性在类下面的栏中列出,可以仅显示属性名。
- 操作:
- 属性在类下面的第二栏中列出,可以仅显示操作名。
- 静态操作与静态属性同样通过在名称下加下划线表示。
- 抽象操作与抽象类同样通过斜体字表示。
- 操作特征完整语法: [可见性] 操作名 [([方向] 参数名 ':' 参数类型 ['=' 默认值])] [':' 返回类型] [{特征串}]
- 不能重写的操作与属性一样使用特征串中增加 leaf 表示。
- 属性在类下面的第二栏中列出,可以仅显示操作名。
- 可见性:
- 可见性通过在属性或方法名称前增加特定的符号表示。公共的(+)私有的的(-)受保护的(#)包内的(~)
- 可见性通过在属性或方法名称前增加特定的符号表示。公共的(+)私有的的(-)受保护的(#)包内的(~)
- 依赖(dependency)是一种使用关系,他描述一个事物的规约变化可能影响到使用它的另一个事物。个人认为在参数或者方法体中使用 到另外的类就是对该类有依赖的关系。use a
- 泛化(dependency)用于描述子类到父类之间的关系。 Is a kind of
- 关联(association)是一种结构关系,他描述一个对象与另一个对象相联系。 Has a
- 双向关联(association)通过A对象可以找到B对象,B对象同样可以找到A对象的关联为双向关联。
- 单向关联(direction-association)通过A对象可以找到B对象,但通过B对象不能找到A对象的关联为单向关 联。
- 聚合(aggreation)A对象是B对象的一个组成部份,但A对象同时可能是C对象的组成部分这种关联为聚合。
- 组合(composition)A对象是B对象的一个组成部份,除非B对象将A对象转交给其他对象,否则A对象只能是B对象的组 成部分,这种关联为组合。
- 双向关联(association)通过A对象可以找到B对象,B对象同样可以找到A对象的关联为双向关联。