面向对象是一个依赖于几个基本原则的思想库。
对象是类的实例。
类是具有相同属性和操作的一类对象集。
继承是面向对象中的一个重要方面。对象继承了所属类的属性和操作。类同样也可以继承其他类的属性和操作。
多态性是另一个重要的方面它是指不同的类中可以有相同名字的操作,并且这个操作在每个类中都能以各自不同的方式执行。
对象对其他对象和外部世界隐藏了其操作的执行过程。每个对象都要提供一个让其他对象用来执行该对象中操作的接口。
对象通过相互之间的消息传递协同工作。消息是执行操作的请求。
对象通常要和其他对象发生关联。关联可以具有多种形式。一个类的对象可能和多个其它类的对象同时发生关联。
聚集是关联的一种,聚集对象由部分对象组成。组成又是一种特殊的聚集。在一个组成对象中,部分对象只能作为组成对象的一部分与组成对象同时存在。
类的可视化表示
如果WashingMachine(洗衣机)类是Household Appliances(家用电器)包的一部分,那么这个类的名字为:Household Appliances::WashingMachine。包名在左,类名在右,中间用双冒号隔开。这种类型的类名叫:路径名(pathname)。
属性
单字属性名小写。如果属性名包含了多个字,这些字要合并,并且除了第一个字外其余字首字母要大写。
对象名首字母小写,后面跟一个冒号,冒号后面是该对象所属的类名,并且整个名字要带下划线。
命名实例:myWasher:WashingMachine
匿名实例:WashingMachine
例:类的属性在该类的对象中都有具体值
例:属性可以带类型和缺省值
操作
单字操作名小写。如果操作名包含了多个字,这些字要合并,并且除了第一个字外其余字首字母要大写。
在操作名后面的括号中可以说明操作所需要的参数和参数的类型。有一种操作较函数(function),它在完成操作后要返回一个返回值。可是指明函数的返回值及返回值的类型。上述全部的操作信息被称为操作的型构。
例:操作的型构
属性、操作和可视化表达
有时,只显示类的一部分属性和操作很有用。为了说明你只表示出部分操作和属性,可以在列表的后面加上3个小点“…”。这个符号叫省略符,这种省略了一个或多个属性或者操作的表示法叫做类的省略表示法。
如果属性或者操作列表太长,可以用构造型来组织属性或操作列表,以方便理解。构造型是UML提供的扩展机制:它允许你创建新的模型元素以解决具体问题。构造型用双尖角括号括住的名字来表示。
例:省略符号说明还有没列出来的属性或操作
例:可以使用构造型来组织属性和操作列表
职责和约束
职责描述了类做什么——也就是类的属性和操作能完成什么任务。
这里的想法是要有足够的信息以非二义性的方法去描述一个类。说明类的职责是消除二义性的一种非形式化的方法。
更形式化的方法是使用约束,它是一个用花括号括起来的自由格式的文本。括号中的文本指定了该类所要满足的一个或者多个规则。
例:在类图标中,操作列表区域的下面区域可以写类的职责
例:用花括号括起来的规则表达式限制了洗衣机的容量之只能三者选一
附加注释
|