高级语言程序设计——Java.pptVIP

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

面向对象程序设计 Object-Oriented Software Design and Construction with Java Unit 2 OOP基本概念 面向对象(Object-Oriented) 面向对象程序设计(Object-Oriented Programming) 面向对象程序设计语言( Object-Oriented Programming Languages) 抽象 对象和类 面向对象(OO) 软件开发面临的问题 硬件与基础设施的发展对软件的压力 应用对软件能力提出了更高的要求 残酷的市场竞争对软件企业提出了更高的要求 面向对象(OO) 需要解决的核心问题 以数据结构为中心的分析、设计和实现 数据结构和操作的一体化表示和控制; 支持向前兼容的扩充和修改 面向对象(OO) 什么是OO? 一种新的程序设计范型 一种新的方法论 一门新技术 面向对象程序设计(OOP) 程序设计范型的演化 程序设计范型(Programming Paradigms) 程序设计时所采用的基本方式模型。它决定了在程序设计时的思维方式及所采用的工具;它受应用领域的约束,以某一类程序设计语言为基础 面向对象程序设计(OOP) 几种典型的程序设计范型 过程化程序设计(Procedure Programming) 确定需要的过程; 使用最好的算法 基于过程抽象 以对数据进行分步骤加工和处理为思维主干 代表语言:Fortran 面向对象程序设计(OOP) 几种典型的程序设计范型 模块化程序设计(Modular Programming) 确定需要的模块;对程序进行划分使数据隐藏在模块中 基于模块抽象 以对程序的模块结构进行划分和组织作为思维主干 代表性程序设计语言:Modula-2 面向对象程序设计(OOP) 几种典型的程序设计范型 面向对象程序设计(Object-Oriented Programming) 确定需要的类;为每个类提供完整的操作集,通过继承使通用性更明显 基于数据抽象,继承性和消息传递 以对实体(包括结构,状态和行为)进行分类,组织和协同作为思维主干 代表性程序设计语言:Smalltalk 面向对象程序设计(OOP) OOP的本质 将计算看作是一个系统的演变过程,系统由对象组成,对象具有状态保持和自主计算的能力,系统中的对象经历一连串的状态变化协同完成计算任务。 OOP的基础构件 对象(Object)和类(Class) 面向对象程序设计(OOP) OOP基本机制 方法(method) 消息(message) 继承性(inherit) OOP重点: 重用(reuse) 构件化(component) 面向对象程序设计(OOP) OOP的特点 控制程序的复杂性 提高程序的重用性 改善程序的可维护性 对现实世界的分类系统进行自然的描述 面向对象程序设计语言(OOPLs) OOPLs应具有的几个基本特性 对象和类 继承性 信息隐藏 强类型化 并发性 持久性 面向对象程序设计语言(OOPLs) 具有实际意义的OOPLs 面向对象的数据抽象语言,类支持了信息隐蔽性;(Smalltalk-80) 面向对象的强类型化语言,类型可在编译时确定;(C++) 支持并发性和持久性的面向对象的强类型化语言。(Java) 面向对象程序设计语言(OOPLs) OOPLs的分类 纯面向对象语言(Smalltalk,Java) 混合性面向对象语言 (C++) 面向对象程序设计语言(OOPLs) C++和Java对OOP的支持 抽象(abstract) 什么是抽象? 通过抽象进行简化 通过抽象进行概括 将抽象作为软件开发的基础 在软件开发中进行抽象时必须面对的问题 好的抽象的特性 抽象 什么是抽象? 抽象是一种设计技术, 重点说明一个实体本质的方面, 而忽略或者掩盖不很重要或非本质的方面. 抽象是一种重要的工具, 用来将复杂的现象简化到可以分析、实验或者可以理解的程度 抽象 通过抽象来简化 抽象过程包括识别并关注事物的重要特征,过滤或者忽略所有无关紧要的细节 抽象应像一个过滤器, 只让真实实体中与所形成的(抽象)系统相关的那些特征可见 抽象 通过抽象来概括 抽象越简单,它就越通用 抽象 通过抽象来概括 将抽象组织成类层次结构 抽象 将抽象作为软件开发的基础 软件抽象-属性和行为的一个命名集合,这些属性和行为与为某种目的而对一给定实体的建模相关. 单个实体可能会有许多有效的抽象,但面向对象设计的关键部分是确定将哪些属性和行为包括在给定的抽象中 抽象 在软件开发中进行抽象时必须面对的问题 存在无数的可能性 对于复杂的问题,事实上不会只有一个“最好”或“正确”的模型,相对要解决的问题来说只有“更好”或“更差”的模型,但是肯定有不正确的模型,即错误地表示

文档评论(0)

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

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

1亿VIP精品文档

相关文档