- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * 张三打李四:类“人”有两个操作“打人”与“被打” * * * * * Part 2: OOA Chapter 5 定义属性与操作 第5章 定义属性与操作 5.0 程序设计的模块化 5.1 对象的属性和操作 5.2 表示法 5.3 定义属性 5.4 定义操作 5.5 建立类图的特征图 5.6 接口的概念及其用途 5.0 程序设计的模块化 结构化程序设计: 程序=关系、算法、数据结构 面向对象程序设计:程序= 对象、关系 ; 对象=(算法+数据结构) 数据结构 数据结构 算法 算法 关系 算法+数据结构 算法+数据结构 算法+数据结构 算法+数据结构 关系 属性(attribute)是用来描述对象静态特征的一个数据项。 实例属性(instance attribute)、类属性 (class attribute) 操作(operation)是用来描述对象动态特征(行为)的一个动作序列。 对象的操作可分为内部操作和外部操作。 被动操作(passive operation)和主动操作(active operation) 。 5.1 对象属性和操作(1) 通过在类范围属性名和类型表达式画下划线的方式,表示类范围的属性,否则属性是实例范围的。 类 名 普通类 属性1 ······ 属性n 操作1 ······ 操作m 类属性是描述类的所有对象共同特征的一个数据项,对于任何对象实例,它的属性值都是相同的。 C++中冠以static的成员变量是类属性,这样的属性对一个类的全部对象实例只是一份共同的数据空间,所以对任何对象而言,该属性的值总是相同的。 实例属性和类属性各有不同的用途。 5.1 对象属性和操作(2) 操作是类的对象被要求执行的服务。 [可见性] 操作名[‘(‘参数列表’)’][‘:’返回类型] 可见性的取值为+(公有的)、#(受保护的) 、-(私有的) 或(包)。 内部操作和外部操作, 特征标记 类范围操作(静态操作)是用来创造实例或者操纵静态属性的操作。例如C++中的前面冠以static的成员函数,就是类范围操作 。 5.1 对象属性和操作(3) 表示法:类范围的操作用带下划线的名字和类型表达式串表示。实例范围操作是默认的,对其不用标记。 5.2 表示法 类 名 普通类 属性1 ······ 属性n 操作1 ······ 操作m @类 名 主动类 属性1 ······ 属性n 操作1 ······ @操作m 0.尽可能复用以前的OOA模型; 1.按一般常识,对象应该有哪些属性? 2.在当前的问题域中,对象应该有哪些属性? 3.根据系统责任,这个对象应具有哪些属性? 4.建立这个对象是为了保存和管理哪些信息? 5.为实现操作的功能需要增设哪些属性? 6.对象是否需要增加描述对象状态的属性? 7.用什么属性表示聚合和关联? 8.可利用需求文档中的形容词或所有格短语。 若一个属性的结构较为复杂(即不仅仅是一些简单的数字或文本),可考虑把其作为对象。 5.3 定义属性 5.3.1 策略与启发 (1)是否体现了以系统责任为目标的抽象;例:书的重量? (2)是否描述对象本身的特征;例:课程—电话号码? 一个属性所对应的一个事物性质的粒度要适当。例如人的通信地址,包括国家、省、城市、街道、门牌号码等内容,但这些内容在通信地址这个概念上是不可分的。在定义“人员”对象的属性时,应该使用一个属性“通信地址”,而不应把有关通信地址的各项内容拆散开用多个属性来描述。 (3)是否可通过继承得到? (4)可以从其它属性直接导出; (5)与实现有关的因素,推迟到OOD考虑(规范化、对象标识、性能问题)。 5.3 定义属性 5.3.2 审查与筛选 OOA旨在建立一个反映问题域并独立于实现的系统分析模型,所有与实现有关的问题均推迟到OOD阶段考虑。 5.3 定义属性 5.3.3 推迟到OOD考虑的问题 规范化问题; 对象标识(内部标识、外部标识); 性能问题(用空间换时间、用时间换空间)。 (1)命名 原则与类的命名相同。 (2)定位 一个类的属性必须适合这个类和它的全部特殊类的所有对象,并在此前提下充分地应用继承。 针对所描述的对象,适合全部对象实例。在一般-特殊结构中通用的属性应该放在一般类,专用的属性应该放在特殊类。 5.3 定义属性 5.3.4 属性的命名和定位 * (1)系统行为 例:创建、删除、复制、转存 并非对象自身的行为
您可能关注的文档
- NP_04生成树协议分解.ppt
- 大脑的营养分解.ppt
- 大气超净排放分解.ppt
- N-RGONiCo2O4复合的制备及电催化性能分解.ppt
- NSC50-日特绕线机分解.ppt
- 大气的受热2016.8分解.ppt
- 农业机器人试题.ppt
- NSM规则理解201503分解.ppt
- 大气环境化学分解.ppt
- 保洁岗位工作技能培训分解.ppt
- 6.1 国家权力机关 教学设计 -2023-2024学年统编版道德与法治八年级下册.docx
- 《3D打印技术在航空发动机叶片制造中的创新应用与性能分析》教学研究课题报告.docx
- 小学科学探究活动创新以水火箭实验推动学生物理概念的认知发展教学研究课题报告.docx
- 8 《船舶制造企业数字化造船技术在我国船舶工业中的产业政策与产业竞争力提升研究》教学研究课题报告.docx
- 初中生乒乓球训练中战术意识与运动技能的融合发展教学研究课题报告.docx
- 《水利工程识图与绘图》课件——项目一 课程基础与制图规范.pptx
- 《水族景观制作与维护》课件——项目4.海水水族景观的制作与维护.ppt
- 《塑料成型工艺与设备》课件——项目五 实操技能实训.pptx
- 《现代钢铁生产技术》课件——项目三 炼铁工艺与设备.pptx
- 《铁路轨道施工与维护》课件——单元一:钢轨及其联结.pptx
文档评论(0)