- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 对象图概要
对象图 知识图谱 Agenda 对象与类的关系 如何阅读对象图 如何绘制对象图 对象图应用说明 本章小结 Agenda 对象与类的关系 如何阅读对象图 如何绘制对象图 对象图应用说明 本章小结 对象的概念与特性 对象代表一个单独的、可确认的物体、单元或实体,它可以是具体的也可以是抽象的,在问题领域里有确切定义的角色。换句话说,对象是边界非常清楚的任何事物 状态:对象的状态包括对象的所有属性(通常是静态的)和这些属性的当前值(通常是动态的) 行为:没有一个对象是孤立存在的,对象可以被操作,也可以操作别的对象。而行为就是一个对象根据它的状态改变和消息传送所采取的行动和所做出的反应 标识:为了将一个对象与其它所有对象区分开来,我们通常会给它起一个“标识” 对象 vs 类 对象是一个存在于时间和空间中的具体实体,而类仅代表一个抽象,抽象出对象的“本质”。 类是共享一个公用结构和一个公共行为对象集合 类是静态的,对象是动态的;类是一般化,对象是个性化;类是定义,对象是实例;类是抽象、对象是具体 对象图在项目开发中的作用 对象图作为系统在某一时刻的快照,是类图中的各个类在某一个时间点上的实例及其关系的静态写照,可以通过以下几个方面来说明它的作用: (1)说明复杂的数据结构。对于复杂的数据结构,有时候很难对其进行抽象成类表达之间的交互关系。使用对象描绘对象之间的关系可以帮助我们说明复杂的数据结构某一时刻的快照,从而有助于对复杂数据结构的抽象。 (2)表示快照中的行为。通过一系列的快照,可以有效表达事物的行为。 对象图的目的在于描述系统中参与交互的各个对象在某一时刻是如何运行的。 Agenda 对象与类的关系 如何阅读对象图 如何绘制对象图 对象图应用说明 本章小结 对象图的表示法 对象名:由于对象是一个类的实例,因此其名称的格式是“对象名:类名”,这两个部分是可选的,但如果是包含了类名,则必须加上“:”,另外为了和类名区分,还必须加上下划线。 属性:由于对象是一个具体的事物,因此所有的属性值都已经确定,因此通常会在属性的后面列出其值。 对象图的组成 对象图中包含对象(Object)和链(Link)。其中对象是类的特定实例,链是类之间关系的实例,表示对象之间的特定关系。 链是两个或多个对象之间的独立连接,它是对象引用元组(有序表),是关联的实例。 链可以用于导航,连接一端的对象可以得到另一端的对象,即可以发送消息。 阅读对象图 首先找出所有的类,即在“:”之后的名称 整理完之后,就可以通过对象的名字来了解其含义 按类来归纳属性,然后再通过关联来确定含义 Agenda 对象与类的关系 如何阅读对象图 如何绘制对象图 对象图应用说明 本章小结 绘制对象图的过程 先找出类和对象,通常类在“class”、“new”、“implements”等关键字之后的,而对象名则通常是在类名之后的 然后对其进行细化的关联分析,绘制出相应的对象图 Agenda 对象与类的关系 如何阅读对象图 如何绘制对象图 对象图应用说明 本章小结 绘制对象图的过程 论证类模型的设计:当设计了类模型时,你可以通过对象图来模拟出一个运行时的状态,这样就可以研究在运行时设计的合理性。同时,也可以作为开发人员讨论的一个基础。 分析和说明源代码:由于类图只是展示了程序的静态类结构,因此通过类图看懂代码的意图是很困难的。因此在分析源代码时,可以通过对象图来细化分析。而对于开发人员,对于逻辑较复杂的类交互时,可以考虑画出一些对象图来做补充说明 Agenda 对象与类的关系 如何阅读对象图 如何绘制对象图 对象图应用说明 本章小结 本章小结 首先从现实世界的“对象”概念中引申出软件系统中“对象”的概念,并阐述了对象的三大特性:结构、行为、标识,从而阐释了对象和类之间的辩证关系 并在此基础上,解释对象的表示法和对象图的阅读方法 通过一个实际的例子说明了对象图的绘制技巧,并总结了对象图的适用场景 思考题 绘制一个表示类的UML元素,并指出它主要包含哪三个部分。 假设类ClassB是ClassA的子类,其中ClassA的属性和方法如图所示,则ClassB能够访问的有哪些? 嵌套类是什么?如果类Student包含类Score,请用你学过的、支持嵌套类的面向对象编程语言将其表示出来。 如图所示是一个仓库管理系统的类模型局部,其中IncomeOrder是指入库单,OrderItem是指入库单中的每一项,Product是产品信息。请指出模型中的错误,说明原因并改正错误。 用OCL语言来表示以下含义: (1)在类examine(考生)中,字段result(成绩)的值大于0、小于100. (2)在类Order中,其包含的支付信息是用其
您可能关注的文档
- 中国现阶段失地农民养老保障存在的问题与对策.doc
- 5.1资源的跨区域调配——以我国西气东输为例讲述.ppt
- 第3课+观察作文概要.ppt
- 第4单元课题4化学式与化合价概要.ppt
- 第4周教案 专题四 学前儿童美术教育的方法概要.doc
- 千篇一律与千变万化.ppt概要.ppt
- 第4章 类与对象1005概要.ppt
- 升岗试题及答案概要.doc
- 千万吨级石油化工预案工作概要.ppt
- 升降台PPT概要.ppt
- 2025年一级建造师考试《水利水电工程管理与实务》冲刺必刷卷.docx
- 2025年一级建造师考试《水利水电工程管理与实务》逆袭破题卷1.docx
- 2025年一级建造师考试《市政工程管理与实务》冲刺必刷卷 .docx
- 2025年一级造价工程师考试《建设工程计价》预习卷.docx
- 2025年一级造价工程师考试《建设工程造价管理》预习卷.docx
- 2025年一级造价工程师考试《建设工程造价案例分析(安装专业)》预习卷.docx
- 2025年一级造价工程师考试《建设工程造价案例分析(土建专业)》预习卷.docx
- 2025年中级会计考试《会计实务》冲刺提分卷.docx
- 2025年中级会计考试《财务管理》冲刺提分卷.docx
- 2025年中级会计考试《财务管理》全真模拟卷.docx
文档评论(0)