C程序设计2011第一章.ppt

  1. 1、本文档共63页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
-*- 总结 1、 程序设计语言的发展过程 机器语言、汇编语言和高级语言。 2、C和C++的关系 3、如何编写、编译、运行一个C++程序 -*- 1.4 面向对象的程序设计 -*- 程序设计方法的发展历程 ——面向对象的方法 将数据及对数据的操作方法封装在一起,作为一个相互依存、不可分离的整体——对象。 对同类型对象抽象出其共性,形成类。 类通过一个简单的外部接口,与外界发生关系。 对象与对象之间通过消息进行通讯。 面向对象的方法 -*- 1.4 面向对象的程序设计方法 -*- 1.4 面向对象的程序设计方法 面向对象的程序设计将数据和处理数据的过程当成一个整体——对象。 1)封装 由对象的概念支持。只需知道外部接口,不需知道内部实现,就可以使用的特性。 2)继承 由类的概念支持。利用已有的成果进行扩展,充分体现了代码重用。 3)多态 运行时特性。 -*- 程序设计方法的发展历程 ——面向对象的方法 优点: 程序模块间的关系更为简单,程序模块的独立性、数据的安全性就有了良好的保障。 通过继承与多态性,可以大大提高程序的可重用性,使得软件的开发和维护都更为方便。 面向对象的方法 和谐 -*- 面向过程与面向对象程序设计 是一种数学思维或计算机思维方法,与人们认识世界的方法不同 以不稳定的、多变的“过程”和“操作” 为中心来构造系统 可重用性较差 是建立在认识方法学基础上的一项技术科学,比较自然地模拟了人类认识客观世界的方式; 以相对稳定的“对象”和“数据结构”为中心来构造系统 可重用性较好 面向过程程序设计 面向对象程序设计 -*- 面向对象的程序设计具有如下的优点: 1.符合人们习惯的思维方法,便于分解大型的复杂多变的问题。由于对象对应于现实世界中的实体,因而可以很自然地按照现实世界中处理实体的方法来处理对象,软件开发者可以很方便地与问题提出者进行沟通和交流。 2.易于软件的维护和功能的增减。对象的封装性及对象之间的松散组合,都给软件的修改和维护带来了方便。 3.可重用性好。重复使用一个类(类是对象的定义,对象是类的实例化),可以比较方便地构造出软件系统,加上继承的方式,极大地提高了软件开发的效率。 4.与可视化技术相结合,改善了工作界面。随着基于图形界面操作系统的流行,面向对象的程序设计方法也将深入人心。它与可视化技术相结合,使人机界面进入GUI时代。 -*- 典型的软件危机的例证 20世纪80年代初 美国Sperry公司为国税局开发联邦税收表格自动处理系统 系统第一次交付运行后,华盛顿邮报称:该系统并不称职,却花费了双倍于预期的费用,而且必须尽快有新系统来代替他。 1985年 在已经花费了10300万美元的基础上,Sperry又追加了9000万美元的设备费用投入。 系统错误导致国税局无法如期退税,国税局因此增加了4020万美元的利息支出。 工作人员为此大量加班,国税局为此额外支出2230万美元的加班工资。 1996年 洛杉矶时报(3月29日)称:国税局至今仍无有力的信息化建设计划,只有一个六千页的技术文档而已 国会议员 Jim Lightfoot 将此项目称为“一个因规划不利而痛苦挣扎 的40000亿美元的败笔” -*- 比较 软件开发中的一个重要定律(Wirth定律): 程序 = 算法 + 数据结构 在结构化设计中人们通常是这样来看待这个定律的: 程序 =(算法) + (数据结构) 在面向对象中,所存在的Wirth定律与上面的结构非常类似: 对象 = (算法 + 数据结构) 程序 = 对象 + 对象 面向对象的方法 -*- 几种说法 在软件开发中是面向对象还是面向过程? 面向对象的编程手法的确要比面向过程的手法要先进的多。然而,面向对象的编程也有着致命弱点。就拿C++在Windows下编游戏来说:如果以面向对象的形式进行编程的话,在游戏运行时,程序自动创建的类将会非常多。而且在进行消息循环时,有大部分的运行时间是掌握在Windows系统手里。这将会大大影响游戏的运行速度,《风云》就是一个很好的例子,在一台Pentium133上玩《风云》慢的就像乌龟,而相同清晰度的《大富翁Ⅳ》在这一机型上却奔跑如飞。当然,你也可以在你的游戏配置中标明“本游戏最低配置为PentiumⅡ300+64MB内存”    面向对象的方法 -*- 几种说法 在软件开发中是面向对象还是面向过程?   如果一个游戏以面向对象形式编程的话,那么它用到的类将会有成百上千个。此时如果将这一游戏以面向

文档评论(0)

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

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

1亿VIP精品文档

相关文档