第5章类图和对象图.doc

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实用标准文案 PAGE 精彩文档 第5章 类图和对象图 5.1 类的定义 在UML中,有两个图非常重要,一个是第3章中介绍的用例图,另一个是本章将要介绍的类图。Rumbaugh对类的定义是:类是具有相似结构、行为和关系的一组对象的描述符。在UML中,类表示划分成3个格子的长方形,如图5.1所示。 图5.1 UML中表示类的符号 在图5.1所示的类中,类名是Shape,共有4个属性,分别为origin、size、fillColor和count,其中属性count有一下划线,表示该属性是静态属性。Shape类有Shape()、move()、resize()和display()方法。其中方法Shape()的版型为constructor,表示该方法是构造方法,而Shape类是一个版型为Graphics的类。对于版型的定义在5.5节中还会介绍。 在定义类的时候,类的命名应尽量应用领域中的术语,应明确、无歧义,以利于开发人员与用户之间的相互理解和交流。一般而言,类的名字是名词。在UML中,类的命名分simple name和path name两种形式,其中simple name形式的类名就是简单的类的名字。而path name形式的类名还包括了包名。例如,下面是path name形式的类名: Banking::CheckingAccount 其中Banking是包名,CheckingAccount是包Banking中的一个类。 5.1.1.类的属性 属性在类图标的属性分隔框中用文字串说明,必威体育精装版的UML规范说明1.5版本中定义属性的格式为: [可见性]属性名[:类型][[多重性 [次序] ]][=初始值][{特性}] 根据详细程度的不同,每条属性可以包括属性的可见性、属性名称、类型、多重性、初始值和特性。其中特性是用户对该属性性质的一个约束说明。例如{只读}这样的特性说明该属性的值不能被修改。 上面表示属性的格式中,除了用括起来的方括号表示的是一个具体的字符外,其他方括号表示该项是可选项。 例5.1 属性声明的一些例子。 +size: Area=(100,100) #visibility: Boolean=false +default-size: Rectangle #maximum-size: Rectangle -xptr: XwindowPtr colors: Color[3] points: Point[2..* ordered] name: String[0..1] 需要说明的是,对属性可见性(visibility)的表示,UML和Rose采用不同的符号,UML规范中规定的是用+、#、-等符号,而Rose中采用 、 、 等图形符号表示(参见图5.1)。 对于例5.1中的points属性和name属性,需要注意它们的多重性部分。多重性声明并不是表示数组的意思。points的多重性为2..*,表示该属性值有两个或多个,同时这些值之间是有序的(因为有ordered指明)。而name这个属性的多重性为[0..1],表示name有可能有一个值,也有可能值为null。特别需要注意的是,name: String[0..1]并不是表示name是一个String数组。 从理论上讲,一个类可以有无限多个属性,但一般不可能把所有的属性都表示出来,因此在选取类的属性时应只考虑那些系统会用到的特征。原则上,由类的属性应能区分每个特定的对象。 5.1.2 类的操作 操作(operation)用于修改、检索类的属性或执行某些动作,操作通常也称为功能。但是它们是被约束在类的内部,只能作用到该类的对象上。操作在类图的操作分隔框中用文字串说明,UML规范说明1.5中规定操作的格式为: [可见性]操作名[(参数列表)][:返回类型][{特性}] 其中方括号表示该项是可选项,而{特性}是一个文字串,说明该操作的一些有关信息,例如{query}这样的特性说明表示该操作不会修改系统的状态。操作名、参数列表和返回类型组成操作接口。接口与第2章中所介绍的操作的特征标记(signature)这个概念很相似,但也有细微的差别。操作的特征标记一般只包括操作名和参数列表,而不包括返回类型,但接口是包括返回类型的。 例5.2 操作声明的一些例子。 +display():Location +hide() #create() -attachXWindow(xwin:XwindowPtr) 需要说明的是,对操作可见性(visibility)的表示,UML和Rose采用不同的符号。UML规范中规定的是用+、#、-等符号,而Rose中采用 、 、 等图形符号表示(参见图5.1)。 5.2 类之间的关系 一般说来,类之间的关系有:关联、聚集、组合、泛化、依赖等,下面将对这些关系进行详细说明。 5

文档评论(0)

dmz158 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档