1_面向对象与c++课件(理论篇).ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第一章 绪论 长安大学 杨建华 2009年1月 本章主要内容 面向对象思想的由来 面向对象程序设计 面向对象的软件开发方法 面向对象方法的科学思维基础 利用Visual C++编辑和运行C++程序 程序设计方法的发展 计算机技术发展初期,人们使用计算机进行简单科学计算与文字处理工作。由于问题相对简单,对程序设计方法(语言)没引起重视(机器语言)。 随着计算机技术的不断发展,人们处理的问题越来越庞大、复杂,使得软件开发、维护工作变得越来越困难。这种趋势,使人们不断深入对软件开发方法的研究,以简化软件开发的复杂性。 模块化的两种方法:工业化软件设计的基础。 1、结构化(C为标志);模拟事件处理的过程与功能结构 2、面向对象(C++为标志,追求对现实世界事物组成结构的直接模拟,用软件系统刻画现实世界的具体事物)。最先进 面向对象方法的目的:用最小的投入,最大限度的解决具体问题(听着很玄)。 对象与面向对象 对象——(object客体)不同于通常的概念(哲学概念)。表示现实世界中的具体事物(具有现实性与具体性属于物质的范畴)。特征:属性+行为。现实世界分为物质和意识两类。 例: 人——抽象概念(意识、概括),程序(类); 杨XX——(40岁,75kg,181cm,长大教师)具体客观存在(物质、具体),程序(对象)。 对象的特征:状态特征(属性/数据) + 行为特征(行为/函数)。 面向对象——问题分析方法(思想)。用类描述现实世界中的概念(人,大学,汽车,法律);用对象描述现实世界中的具体事物(杨XX,长安大学,我的那辆黑polo汽车,物权法)。采用人们习惯的思维模式或认识方法去分析需要处理的问题。 面向对象的方法 出发点: 更直接地描绘客观世界中存在的事物(对象)以及它们之间的关系(所见即所得)。看到什么建立什么模型。 特点: 是高级语言。 将客观事物看作具有属性和行为的对象。属性是结构特征;行为表示能力。(例:黔之驴) 通过抽象找出同一类对象的共同属性和行为,形成类。 通过类的继承与多态实现代码重用 面向对象的方法 优点: 使程序能够比较直接(直观)地反映问题域的本来面目,软件开发人员能够利用人类认识事物所采用的一般思维方法来进行软件开发(降低软件分析与设计难度)。 ——面向过程的程序设计方法 最早的程序 目的:用于数学计算 主要工作:设计求解问题的过程 缺点:对于庞大、复杂的程序难以开发和维护 —面向过程的结构化程序设计方法 设计思路 自顶向下、逐步求精。采用模块分解与功能抽象,自顶向下、分而治之。 程序结构: 按功能划分为若干个基本模块,形成一个树状结构。 各模块间的关系尽可能简单,功能上相对独立;每一模块内部均是由顺序、选择和循环三种基本结构组成。 其模块化实现的具体方法是使用子程序/函数。 ——面向过程的结构化程序设计方法 优点: 有效地将一个较复杂的程序系统设计大任务分解成许多易于分析、处理和控制的子任务,便于开发和维护。 ——面向过程的结构化程序设计方法 缺点:可重用性差、数据安全性差、难以开发大型软件和图形界面的应用软件 把数据和处理数据的过程分离为相互独立的实体。 当数据结构改变时,所有相关的处理过程都要进行相应的修改。 每一种相对于老问题的新方法都要带来额外的开销。 图形用户界面的应用程序,很难用过程来描述和实现,开发和维护也都很困难。 ——面向对象的方法 将数据及对数据的相关操作方法封装在一起,作为一个相互依存、不可分离的整体——对象。 对同类型对象抽象出其共性,形成类。 类通过简单的外部接口,与外界发生关系。 对象与对象之间通过消息进行通信。 ——面向对象的方法 优点: 程序模块间的关系更为简单,程序模块的独立性越好,数据的安全性就越有保障。(概念的独立性=模块独立性)使用概念将相关属性与功能进行分类并封装在一起。对象是数据与函数的统一体。 通过继承与多态性,可以大大提高程序的可重用性,使得软件的开发和维护都更为方便。 面向对象的程序设计语言 支持数据抽象方法、提供继承性、多态性、动态链接机制,使类/类库可重用。 发展过程: 20世纪60年代中期,Simula 67语言——面向对象语言的 鼻祖,提出了对象、类的概念,并支持类的继承。 20世纪70年代中期,Smalltalk语言——最有影响的面向对 象语言之一,丰富了面向对象的概念。 20世纪80年代中期后出现C++(兼容C)、Object PASCAL、Java等多种面向对象语言。 分类: 1、纯粹面向对象语言:程序所有成分都是对象 (强 调快速开发能力)。 2、混合型面向对象语言:过程+面向对象,强调运 行效率。C++ 第三节

文档评论(0)

youyang99 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档