- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
UML 面向对象技术教程 内容回顾: UML视图 用例视图 交互视图 逻辑视图 本章中所涉及的内容 UML逻辑视图(类图) 类之间的关联关系及相关概念 抽象机制 UML的扩展机制---版型 类的版型划分 类图的层次划分 发现类的方法---领域分析 面向对象设计要遵循的原则 UML逻辑视图(对象图) §5.1 类的定义 类具有以下性质: 类名(className) 属性(Attribute) 操作(Operation) §5.1 类的定义(续一:类命名) 类在UML中表示: 1、类名(className) 简单名(Simple Name): classname example:Shape 路径名:含有包(Package) [[package::]Path::]classname example: jave::awt::Shape 在UML中规定: 类名首字母为大写,放在上部. 若类名为两个单词则合并,两单词首字母均大写 正体字说明类可被实例化,斜体说明类为抽象类。 §5.1.1 类的属性 类具有以下性质: 2、属性(Attribute) 注: 类描述的中间节为属性,属性节是可选项。 不可能穷举描述全部属性:类(可能包含无限对象),故描述所 有对象属性则理论上也会有无限多个。 如何描述及语法格式: [可见性]属性名[:类型][‘[‘多重性[次序]’]’][=初始值][{特性}] 或简写: [可见性]属性名[:类型][=默认值][{约束特性}] [可见性] 表示该属性对类外的元素可见,即公有、私有、保护。 属性名 属性的名称,一个字符串。 [:类型] 定义属性的类型。(基本数据类型或用户自定义类型) [=默认值] 默认值为属性的初始值。 [{约束特性}] 描述对属性的约束条件。 §5.1.1 类的属性 (续) 类属性描述例子 一个银行账户类具有一个为balance的类型,默认值为0。 balance : Dollars = 0 右下图为默认为0美元的balance属性值的银行账户类图 格式: 属性名:属性类型 = 默认值 §5.1.2 类的操作 类具有以下性质: 3、操作(Operation): 用来修改、检索类的属性或执行某些动作,操作通常称为功能。 作用域:类内部对象。 类描述的第三间节为操作,操作节也是可选项。 通常把操作称为函数。 操作的UML规范格式: [可见性]操作名[(参数列表)][:返回类型][{约束特性}] [可见性] ‘+’公有操作,‘#’受保护操作,‘-’私有操作 操作名 操作名称,一个字符串。 [(参数列表)] 语法同属性参数,参数个数任意。 [{约束特性}] 描述对操作的约束 §5.1.2 类的操作 (续) +(Public):共有成员在程序任何位置可见。系统中任何对象可用它。 -(Private):私有成员仅可以由定义它的类使用。 #(Protected):受保护成员仅可以由定义它的类及子类中对象使用。 在UML中操作的书写方式: §5.1.2 类的操作 (续二) 指示器:参数的输入\输出 in\out 在C++和Jave中,所有的参数均为‘in’,其默认也是 ‘in’ Example: Flight类(航班)的操作: delay有个Minutes类型的输入参数numberOfMinutes,而delayFlight操 作没有返回值。当一个操作有参数时,参数放在括号内。 Flight类操作参数如图 §5.2 类之间的关系 类之间关系 关联 聚集 组合 泛化 依赖 §5.2.1 类之间的关系--- 关联 关联(association): 关联端(association end):可有两个或两个以上(多个类); 关联方向:单向(uni-directional)、 双向(bi-directional)、 关联链(link): 类之间关联 类之间单向关联 §5.2.1 类之间的关系--- 关联 类之间单向关联(单向(uni-directional) public class C1 //类A的Java代码 { public C2 theC2; public C1() { } } public class C2 //类B的Java代
文档评论(0)