- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工学]第1章 面向对象概述
第1章 面向对象概述 1.1 面向对象的基本概念 1.2 面向对象的基本特征 1.3 面向对象的方法论 1.4 面向对象建模 1.1 面向对象的基本概念 对象在《韦氏大字典》解释: 对象是某种可以被人感知的事物; 对象是思维、感觉或动作所能作用的物质或精神体; 对象是状态和行为有机结合起来形成的软件构造模型; 即 对象=数据+数据上的操作; 面向对象与面向过程 面向过程:自顶向下、逐层分解,将复杂的大模块分解为许多功能单一的小模块。 结构化程序设计:以函数为中心,即以功能为中心描述系统; 分解使系统的核心依赖于细节,细节的变更会使系统的核心不稳定; 缺点:要求设计者一开始就对要解决的问题有一定的了解。比较困难、复杂的问题不是特别合适。难于调试、修改,可重用性、可维护性都比较差。 面向对象与面向过程 面向对象:封装、继承、多态; 面向对象程序设计:从问题的一部分着手,逐步构建整个系统;以数据为中心,逐步的认知过程,符合人类对世界认知的规律; 面向对象:细节依赖核心,核心相对稳定; 优点:事件驱动、易维护、可复用性好,效率高; 对象与类的确定 客观世界里的任何实体都可以被称为对象。 对象可以是具体的、有形的物,也可以是无形的事物或概念。 对象是问题域或实现域中某些事物的一个抽象。 对象是一个封装数据属性和操作行为的实体。 系统中的对象在软件生命周期的各个阶段可能有不同的表示形式。 对象与类的确定 类:是具有相同属性和操作的一组对象的组合,即描述了一组相似对象的共同特征,为属于该类的全部对象提供了统一的抽象描述。 定义类应包含的要素: 定义该类对象的数据结构; 对象所要执行的操作。 类是对象集合的再抽象。类是对象的模板和蓝图;类给出了属于该类的全部对象的抽象定义,而对象是符合这种定义的一个实体; 类用来在内存中开辟一个数据区,用于存储新对象的属性或把一系列行为和对象关联起来。 对象与类的确定 确定类的步骤: 确定系统的范围; 在系统范围内寻找对象,该对象通常具有一个或多个类似的事物; 将对象抽象成一个类,按照类的定义确定类的数据和操作; 消息和事件 消息:是描述事件发生的信息,是对象间相互联系和作用的方式。 一个消息主要有5个部分组成:消息的发送对象、消息的接收对象、消息的传递方式、消息的内容(参数)、消息的返回; 1.2 面向对象的特征 抽象:根据使用对象的关注点的不同,保留感兴趣的特征,忽略去掉与当前目标无关的对象特征; 封装:将对象的状态和行为结合在一起形成一个不可分割的整体,尽可能隐蔽对象的内部细节,与外界仅通过接口联系; 继承:描述类与类之间一般与特殊的层次关系; 多态:两个或多个不同的对象,对于同一个消息或方法做出不同的响应的能力;在两个或多个属于不同类的同名函数对用多个相似功能的不同函数,可以使用相同的调用方式来调用。 抽象 将需要的事物进行简化; 将事物特征进行概括; 将抽象模型组织为层次结构; 将软件重用得以保证; 封装 把对象的状态和行为绑到一起的机制,使对象成为独立的整体,并尽可能隐藏对象的内部细节; 含义: 把对象全部的状态和行为结合在一起,形成一个不可分割的整体;对象的私有属性只能由对象行为来修改或读取; 尽可能隐蔽对象内部细节,与外界的联系只能通过外部接口来实现; 封装 通过公共访问器限制对象私有属性的好处: 避免对封闭数据的未授权访问; 帮助保护数据的完整性; 当类的私有方法必须修改时,限制了在整个应用程序内的影响; 继承 继承性是面向对象程序设计语言不同于其他语言的最主要特点。 继承是指子类可以自动拥有父类的全部属性与操作的机制。 父类(超类) 子类(派生类) 继承性又分为单重继承和多重继承两类。 单重继承和多重继承的描述 继承 继承的目的: 使派生类能比不使用继承而直接进行描述的类更加简洁; 能重用和扩展现有类库资源; 使软件易于维护和修改; 6. 多态性 定义:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。 多态性分为两种: 编译时的多态性。 运行时的多态性。 继承和多态结合,生成一系列类似但独一无二的对象,由于继承共享许多相似特征;由多态实现个性化设计; 1.3 面向对象方法论 面向对象开发方法的精髓在于:从不稳定的需求中分析出稳定的对象,以对象为基础,组织需求、构架系统 面向对象开发方法包括: 面向对象分析 面向对象设计(对象设计、系统设计) 面向对象分析 OOA的目的:是认知客观世界的系统并对系统进行建模,需要在分析过程中根据客观世界准确、具体、严密的构造系统分析模型; 系统分析模型用途:明确问题域的需求、为用户和开发者提供明确的需求、为用户和开发者提供一个协商的平台,并作为后继设计和实现的框架。 面向对象的分析过程 获
文档评论(0)