编辑推荐: |
本文主要介绍类图的属性和方法,以及类之间的关系,希望对您有所帮助。
本文来源于fenglin1985的blog,由火龙果软件Linda编辑,推荐。 |
|
类图是面向对象系统建模中最常见的图,类图显示了一组类、接口、协作以及它们之间的关系。类图用于对系统的静态设计视图建模。 在UML中类以矩形表示,具有名称、属性、操作、和关系等描述。接下来我们将全面的对类里面的每个元素的表现作出详细的介绍。
- 类:
- 在UML中类以一个矩形表示,类的名称用一个字符串表示。
- 抽象类通过将类名改为斜体字表示。
- 不能继承的类(叶子类,封闭类)通过在类名下面增加 leaf 特性说明。
- 属性:
- 属性在类下面的栏中列出,可以仅显示属性名。
- 静态属性通过在属性名下加下划线表示。
- 属性其他特征完整语法: [可见性] 属性名 [':'类型] [多重性] ['='初始值] [{特性串]}]
- 不能重写属性通过在特性串中增加 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对象的组成部分,这种关联为组合。
|