
c++语言程序设计第1讲
46页1、第一章 绪论 清华大学 郑 莉 C+语言程序设计 1 C+语言程序设计清华大学 郑莉 本章主要内容 l计算机程序设计语言的发展 l面向对象的方法 l面向对象的软件开发 l信息的表示与存储 l程序的开发过程 2 C+语言程序设计清华大学 郑莉 计算机程序 l计算机的工作是用程序来控制的 l程序是指令的集合。 l指令是计算机可以识别的命令。 计算机语言的发展 3 C+语言程序设计清华大学 郑莉 机器语言与汇编语言 l由计算机硬件系统可以识别的二进 制指令组成的语言称为机器语言。 计算机发展的初期,软件工程师们只能用机 器语言来编写程序。这一阶段,在人类的自然语言 和计算机编程语言之间存在着巨大的鸿沟。 l汇编语言将机器指令映射为一些可 以被人读懂的助记符,如ADD、SUB等。 此时编程语言与人类自然语言间的鸿沟略有 缩小,但仍与人类的思维相差甚远。因为它的抽象 层次太低,程序员需要考虑大量的机器细节。 计算机语言的发展 4 C+语言程序设计清华大学 郑莉 高级语言 高级语言屏蔽了机器的细节,提高 了语言的抽象层次,程序中可以采用具 有一定含义的数据命名和容易理解的执 行语句。这使得在书写程
2、序时可以联系 到程序所描述的具体事物。 计算机语言的发展 5 C+语言程序设计清华大学 郑莉 面向对象的语言 l出发点: 更直接地描述客观世界中存在的 事物(对象)以及它们之间的关系。 l特点: 是高级语言。 将客观事物看作具有属性和行为 的对象。 通过抽象找出同一类对象的共同 属性和行为,形成类。 通过类的继承与多态实现代码重 用 计算机语言的发展 6 C+语言程序设计清华大学 郑莉 面向对象的语言 l优点: 使程序能够比较直接地反映问题域的 本来面目,软件开发人员能够利用人类认识 事物所采用的一般思维方法来进行软件开发 。 计算机语言的发展 7 C+语言程序设计清华大学 郑莉 程序设计方法的发展历 程 面向过程的程序设计方 法 l最早的程序 目的:用于数学计算 主要工作:设计求解问题的过程 缺点:对于庞大、复杂的程序难以开 发和维护 面向对象的方法 8 C+语言程序设计清华大学 郑莉 程序设计方法的发展历 程 面向过程的结构化程序设计方 法 l设计思路 自顶向下、逐步求精。采用模块分 解与功能抽象,自顶向下、分而治之。 l程序结构: 按功能划分为若干个基本模块,形 成一个树状结构。
3、 各模块间的关系尽可能简单,功能 上相对独立;每一模块内部均是由顺序、 选择和循环三种基本结构组成。 其模块化实现的具体方法是使用子 程序。 面向对象的方法 9 C+语言程序设计清华大学 郑莉 程序设计方法的发展历 程 面向过程的结构化程序设计方 法 l优点: 有效地将一个较复杂的程序系统设 计任务分解成许多易于控制和处理的子任 务,便于开发和维护。 面向对象的方法 10 C+语言程序设计清华大学 郑莉 程序设计方法的发展历程 面向过程的结构化程序设计方 法 l缺点:可重用性差、数据安全性差、难 以开发大型软件和图形界面的应用软件 把数据和处理数据的过程分离为相互独立 的实体。 当数据结构改变时,所有相关的处理过程 都要进行相应的修改。 每一种相对于老问题的新方法都要带来额 外的开销。 图形用户界面的应用程序,很难用过程来 描述和实现,开发和维护也都很困难。 面向对象的方法 11 C+语言程序设计清华大学 郑莉 程序设计方法的发展历 程 面向对象的方法 l将数据及对数据的操作方法封装在 一起,作为一个相互依存、不可分离的 整体对象。 l对同类型对象抽象出其共性,形成 类。 l类通过一个
4、简单的外部接口,与外 界发生关系。 l对象与对象之间通过消息进行通信 。 面向对象的方法 12 C+语言程序设计清华大学 郑莉程序设计方法的发展历 程 面向对象的方法 l优点: 程序模块间的关系更为简单,程序 模块的独立性、数据的安全性就有了良好 的保障。 通过继承与多态性,可以大大提高 程序的可重用性,使得软件的开发和维护 都更为方便。 面向对象的方法 13 C+语言程序设计清华大学 郑莉 面向对象的基本概念 对象 l一般意义上的对象: 是现实世界中一个实际存在的事物 。 可以是有形的(比如一辆汽车), 也可以是无形的(比如一项计划)。 是构成世界的一个独立单位,具有 l静态特征:可以用某种数据来 描述 l动态特征:对象所表现的行为 或具有的功能 面向对象的方法 14 C+语言程序设计清华大学 郑莉 面向对象的基本概念 对象 l面向对象方法中的对象: 是系统中用来描述客观事物的一个实 体,它是用来构成系统的一个基本单位。对 象由一组属性和一组行为构成。 属性:用来描述对象静态特征的数据 项。 行为:用来描述对象动态特征的操作 序列。 面向对象的方法 15 C+语言程序设计清华大学 郑
5、莉 面向对象的基本概念 类 l分类人类通常的思维方法 l分类所依据的原则抽象 忽略事物的非本质特征,只注意那 些与当前目标有关的本质特征,从而找出 事物的共性,把具有共同性质的事物划分 为一类,得出一个抽象的概念。 例如,石头、树木、汽车、房屋等 都是人们在长期的生产和生活实践中抽象 出的概念。 面向对象的方法 16 C+语言程序设计清华大学 郑莉 面向对象的基本概念 类 l面向对象方法中的类 具有相同属性和服务的一组对象的集 合 为属于该类的全部对象提供了抽象的 描述,包括属性和行为两个主要部分。 类与对象的关系: 犹如模具与铸件之间的关系,一个属于某类 的对象称为该类的一个实例。 面向对象的方法 17 C+语言程序设计清华大学 郑莉 面向对象的基本概念 封装 l把对象的属性和服务结合成一个独 立的系统单元。 l尽可能隐蔽对象的内部细节。对外 形成一个边界(或者说一道屏障),只 保留有限的对外接口使之与外部发生联 系。 面向对象的方法 18 C+语言程序设计清华大学 郑莉 面向对象的基本概念 继承 l继承对于软件复用有着重要意义, 是面向对象技术能够提高软件开发效率 的重要原因之一。
《c++语言程序设计第1讲》由会员正仁分享,可在线阅读,更多相关《c++语言程序设计第1讲》请在金锄头文库上搜索。