第1章 对象式程序设计基本概念.pptVIP

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第1章 对象式程序设计基本概念

第1章 对象式程序设计基本概念 1.1 面向过程与面向对象程序设计 几个基本事实 认识、分析和解决问题应采用与问题复杂程度相匹配的方法论:还原论→系统论 认识、分析和解决复杂问题应采用抽象程度高的方法 现代建筑利用构件来建造 成功的计算机制造商并不生产所有配件 认识复杂事物采用高度抽象的概念 硬件价格不断下降、性能越来越高、应用越来越广、解决的问题越来越复杂 几个基本事实(续) 程序设计语言从面向机器到面向过程再到面向对象的发展历程反映了程序越来越复杂的趋势,也越来越接近人的思维习惯 现代软件的本质特征是其固有的复杂性,这是软件危机产生的根源 应对和控制复杂性的主要方法有:分解、抽象、模块化和信息隐藏等 面向对象技术更充分体现了分解、抽象、模块化和信息隐藏等思想,可以有效提高软件生产率、缩短开发时间、提高软件质量,是控制软件复杂性的有效途径 面向过程程序设计存在的问题 各种类型的数据与过程间的联系错综复杂,软件的可靠性、可读性和可维护性差 设计方法强烈依赖系统逻辑模型的完整性描述,难以作到系统的动态变化与扩展,系统开发速度慢、周期长、费用高 自顶而下的“瀑布式”的设计,使数据结构的设计仅服从于当前功能实现的要求,为以后的扩充和重用设置了巨大的障碍 两者的抽象程度不同 面向过程的程序:算法+数据结构=程序, C, Fortran 面向对象的程序:对象及其相互作用、协调, C++, Java 两者的方法论不同: 面向过程的程序设计: 还原论 → 面向过程的问题求解 → 面向过程的程序设计 ↓ ↓         ↓ 难以认识复杂事物 难以解决复杂问题 难以设计复杂程序 面向对象的程序设计: 系统论 → 面向对象的问题求解 → 面向对象的程序设计 ↓ ↓         ↓ 便于认识复杂事物 便于解决复杂问题 便于设计复杂程序 两者并不矛盾 前者注重局部,后者注重整体(各要素之间的相互关系) 前者适用于设计简单、规模小的程序,后者适用于设计复杂、规模大的程序 在面向对象程序设计的局部仍需要面向过程的程序设计 1.2 面向对象程序设计的思想要点 程序由对象组成,这些对象首先是自治、自恰的,同时它们还相互通信、协调和配合,从而共同完成整个程序的任务和功能 对象:以数据为中心,是集成了数据和其上的操作独立、自恰(通过自身定义的操作来管理自己)的逻辑单位 对象具有唯一的标识和固定的对外接口,接口是对象与外界通信的通道 对象的属性表示它所处的状态(静态特征),操作用来改变对象状态达到特定功能(动态特征) 对象是现实世界实体或概念在计算机中的抽象表示 一个电视机对象 对象的关系 包含:当对象A是对象B的属性时,称对象B包含对象A。例:电视机和显象管。 继承:当对象A是对象B的特例时,称对象A继承了对象B。例:电视机、黑白电视机、彩色电视机。 关联:当对象A的引用是对象B的属性时,称对象A和对象B之间是关联关系。例:电视机和生产厂商。 对象的引用是指对象的名称、地址、句柄等可以获取或操纵该对象的途径。对象的引用所占用的内存空间要少得多,它只是找到对象的一条线索,通过它,程序可以找到真正的对象,访问这个对象的数据,调用这个对象的方法。 关联和包含是两种不同的关系,厂商并不是电视机的组成部分,所以电视机对象里不需要也不可能保存这个厂商对象,而只需要保存一个厂商对象的引用,例如厂商的名称。 类是同种对象的集合与抽象,对象是类的实例,类是产生对象的模板。类可以派生子类,子类继承超类的属性和方法。 在面向对象程序设计方法中,其程序结构是一个类的集合和各类之间以继承关系联系起来的结构,有一个主程序,在主程序中创建各对象并规定它们之间传递消息的规律。从程序执行角度来看,可以归结为各对象和它们之间的消息通信(方法调用)。面向对象程序设计最主要的特征是各对象之间的消息传递和各类之间的继承。 1.3 面向对象软件开发过程 OOA(object oriented analysis):明确需求,从问题中抽取对象模型(概念模型)。主要解决“做什么”的问题。 OOD(object oriented design):将模型细化,设计类,包括类的属性、操作和类间关系,同时考察是否有直接可以引用的已有类或部件。主要解决“怎么做”的问题。 OOP(object oriented programming):选定一种面向对象的程序设计语言,具体编码实现上一阶段类的设计,并在开发过程中引入测试,完善整个解决方案。 1.4 面向对

文档评论(0)

haowendangqw + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档