代码改变世界

UML学习笔记(三):运用面向对象思想

2006-06-19 10:52  努力学习的小熊  阅读(1355)  评论(1编辑  收藏  举报

类的可视化表示

如果WashingMachine(洗衣机)类是Household Appliances(家用电器)包的一部分,那么这个类的名字为:Household Appliances::WashingMachine。包名在左,类名在右,中间用双冒号隔开。这种类型的类名叫:路径名(pathname)
   

属性

单字属性名小写。如果属性名包含了多个字,这些字要合并,并且除了第一个字外其余字首字母要大写。

对象名首字母小写,后面跟一个冒号,冒号后面是该对象所属的类名,并且整个名字要带下划线。

命名实例:myWasher:WashingMachine

匿名实例:WashingMachine

例:类的属性在该类的对象中都有具体值
   

例:属性可以带类型和缺省值
   

操作

单字操作名小写。如果操作名包含了多个字,这些字要合并,并且除了第一个字外其余字首字母要大写。
   

在操作名后面的括号中可以说明操作所需要的参数和参数的类型。有一种操作较函数(function),它在完成操作后要返回一个返回值。可是指明函数的返回值及返回值的类型。上述全部的操作信息被称为操作的型构。

例:操作的型构
   

属性、操作和可视化表达

有时,只显示类的一部分属性和操作很有用。为了说明你只表示出部分操作和属性,可以在列表的后面加上3个小点“…”。这个符号叫省略符,这种省略了一个或多个属性或者操作的表示法叫做类的省略表示法。

如果属性或者操作列表太长,可以用构造型来组织属性或操作列表,以方便理解。构造型是UML提供的扩展机制:它允许你创建新的模型元素以解决具体问题。构造型用双尖角括号括住的名字来表示。

例:省略符号说明还有没列出来的属性或操作
   

例:可以使用构造型来组织属性和操作列表 
   

职责和约束

职责描述了类做什么——也就是类的属性和操作能完成什么任务。

这里的想法是要有足够的信息以非二义性的方法去描述一个类。说明类的职责是消除二义性的一种非形式化的方法。

更形式化的方法是使用约束,它是一个用花括号括起来的自由格式的文本。括号中的文本指定了该类所要满足的一个或者多个规则。

例:在类图标中,操作列表区域的下面区域可以写类的职责
   

例:用花括号括起来的规则表达式限制了洗衣机的容量之只能三者选一

 

附加注释