C 语言程序设计(清华大学郑莉) (5)

合集下载

C++语言程序设计-清华大学-郑莉

C++语言程序设计-清华大学-郑莉


开销。
图形用户界面的应用程序,很难用过程来描述
和实现,开发和维护也都很困难。
程序设计方法的发展历程

——面向对象的方法
向 将数据及对数据的操作方法封装在一 对 起,作为一个相互依存、不可分离的 象 整体——对象。
的 对同类型对象抽象出其共性,形成类。

类通过一个简单的外部接口,与外界 发生关系。
方 例如:

数的加法->实数的加法
->复数的加法
开面 发向
对 象 的 软 件
面向对象的软件工程
面向对象的软件工程是面向对象方法 在软件工程领域的全面应用。它包括:
面向对象的分析(OOA) 面向对象的设计(OOD) 面向对象的编程(OOP) 面向对象的测试(OOT) 面向对象的软件维护(OOSM)

由一组属性和一组行为构成。

属性:用来描述对象静态特征的数据项。

行为:用来描述对象动态特征的操作序列。
面向对象的基本概念

——类
向 分类——人类通常的思维方法 对 分类所依据的原则——抽象 象 忽略事物的非本质特征,只注意那些与

当前目标有关的本质特征,从而找出事
物的共性,把具有共同性质的事物划分
类的对象称为该类的一个实例。
面向对象的基本概念

——封装


把对象的属性和服务结合成一个独立 的系统单元。


尽可能隐蔽对象的内部细节。对外形 成一个边界(或者说一道屏障),只
方 保留有限的对外接口使之与外部发生
法 联系。
面向对象的基本概念

——继承
向 继承对于软件复用有着重要意义,是 对 面向对象技术能够提高软件开发效率 象 的重要原因之一。

C语言程序设计清华大学郑莉PPT课件

C语言程序设计清华大学郑莉PPT课件

向 • 是现实世界中一个实际存在的事物。
• 可以是有形的(比如一辆汽车),也可以是无形的(比如一项计划)。
对 • 是构成世界的一个独立单位,具有:
象 • 静态特征:可以用某种数据来描述
的 • 动态特征:对象所表现的行为或具有的功能


第13页/共702页
面向对象的基本概念

——对象

对 象
• 面向对象方法中的对象:


的 表
┌控制信息 │
示 信息┤






└ 浮点数 └数据信息
┌ 字符数据
息┤
第27页/共702页
┌ 指令 ┤ └ 控制字
┌ 定点数 ┌ 数值信息 ┤ │ └ 非数值信
└逻
计算机的数字系统
信 息 的
表 示
• 计算机采用的是二进制数字系统。 • 基本符号:0、1 • 进位原则:逢二进一 • 优点:
维护
面 将 软 件 交 付 使 用 后 , 工 作 并 没 有 完 结 , 还 要 根 据 软 件 的 运 行 情 况 和 用 户 的 需 求 , 不 断 改 进 系 统 。 向 使 用 面 向 对 象 的 方 法 开 发 的 软 件 , 其 程 序 与 问 题 域 是 一 致 的 , 因 此 , 在 维 护 阶 段 运 用 面 向 对 象 的 方 法
发生联系。
对 象 的 方 法
第17页/共702页
面向对象的基本概念
面 — — 继 承 • 继承对于软件复用有着重要意义,是面向对象技术能够提高软件开发效率的重要原因之一。 向 • 定义:特殊类的对象拥有其一般类的全部属性与服务,称作特殊类对一般类的继承。 对 • 例如:将轮船作为一个一般类,客轮便是一个特殊类。

C 语言程序设计(清华大学郑莉)课后习题答案

C  语言程序设计(清华大学郑莉)课后习题答案

第一章概述1-1简述计算机程序设计语言的发展历程。

解:迄今为止计算机程序设计语言的发展经历了机器语言、汇编语言、高级语言等阶段,C++语言是一种面向对象的编程语言,也属于高级语言。

1-2面向对象的编程语言有哪些特点?解:面向对象的编程语言与以往各种编程语言有根本的不同,它设计的出发点就是为了能更直接的描述客观世界中存在的事物以及它们之间的关系。

面向对象的编程语言将客观事物看作具有属性和行为的对象,通过抽象找出同一类对象的共同属性(静态特征)和行为(动态特征),形成类。

通过类的继承与多态可以很方便地实现代码重用,大大缩短了软件开发周期,并使得软件风格统一。

因此,面向对象的编程语言使程序能够比较直接地反问题域的本来面目,软件开发人员能够利用人类认识事物所采用的一般思维方法来进行软件开发。

C++语言是目前应用最广的面向对象的编程语言。

1-3什么是结构化程序设计方法?这种方法有哪些优点和缺点?解:结构化程序设计的思路是:自顶向下、逐步求精;其程序结构是按功能划分为若干个基本模块;各模块之间的关系尽可能简单,在功能上相对独立;每一模块内部均是由顺序、选择和循环三种基本结构组成;其模块化实现的具体方法是使用子程序。

结构化程序设计由于采用了模块分解与功能抽象,自顶向下、分而治之的方法,从而有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。

虽然结构化程序设计方法具有很多的优点,但它仍是一种面向过程的程序设计方法,它把数据和处理数据的过程分离为相互独立的实体。

当数据结构改变时,所有相关的处理过程都要进行相应的修改,每一种相对于老问题的新方法都要带来额外的开销,程序的可重用性差。

由于图形用户界面的应用,程序运行由顺序运行演变为事件驱动,使得软件使用起来越来越方便,但开发起来却越来越困难,对这种软件的功能很难用过程来描述和实现,使用面向过程的方法来开发和维护都将非常困难。

1-4什么是对象?什么是面向对象方法?这种方法有哪些特点?解:从一般意义上讲,对象是现实世界中一个实际存在的事物,它可以是有形的,也可以是无形的。

C++语言程序设计(清华大学郑莉)

C++语言程序设计(清华大学郑莉)
C++语言程序设计
第四章 类与对象
清华大学 郑 莉
C++语言程序设计
本章主要内容
清华大学 郑莉
面向对象的思想 OOP的基本特点 类概念和声明
对象 构造函数 析构函数
内联成员函数 拷贝构造函数 类的组合 结构体与联合体 深度探索
2
C++语言程序设计
清华大学 郑莉
回顾:面向过程的设计方法
second; }
19
C++语言程序设计
清华大学 郑莉
成员数据


与一般的变量声明相同,但需要将它 放在类的声明体中。


20
C++语言程序设计
清华大学 郑莉
成员函数


在类中说明原型,可以在类外给出函数 体实现,并在函数名前使用类名加以限
对 定。也可以直接在类中给出函数体,形
象 成内联成员函数。
};
成员数据
18
void Clock::setTime(int newH, int newM, int newS) {
hour = newH; minute = newM; second = newS; } void Clock::showTime() { cout << hour << ":" << minute << ":" <<
C++语言程序设计
清华大学 郑莉
类的声明形式


类是一种用户自定义类型,声明形式:
class 类名称
对{

C++语言程序设计课后答案(郑莉第4版)

C++语言程序设计课后答案(郑莉第4版)

第一章概述1-1 简述计算机程序设计语言的发展历程。

解:迄今为止计算机程序设计语言的发展经历了机器语言、汇编语言、高级语言等阶段,C++语言是一种面向对象的编程语言,也属于高级语言。

1-2面向对象的编程语言有哪些特点?解:面向对象的编程语言与以往各种编程语言有根本的不同,它设计的出发点就是为了能更直接的描述客观世界中存在的事物以及它们之间的关系。

面向对象的编程语言将客观事物看作具有属性和行为的对象,通过抽象找出同一类对象的共同属性(静态特征)和行为(动态特征),形成类。

通过类的继承与多态可以很方便地实现代码重用,大大缩短了软件开发周期,并使得软件风格统一。

因此,面向对象的编程语言使程序能够比较直接地反问题域的本来面目,软件开发人员能够利用人类认识事物所采用的一般思维方法来进行软件开发。

C++语言是目前应用最广的面向对象的编程语言。

1-3 什么是结构化程序设计方法?这种方法有哪些优点和缺点?解:结构化程序设计的思路是:自顶向下、逐步求精;其程序结构是按功能划分为若干个基本模块;各模块之间的关系尽可能简单,在功能上相对独立;每一模块内部均是由顺序、选择和循环三种基本结构组成;其模块化实现的具体方法是使用子程序。

结构化程序设计由于采用了模块分解与功能抽象,自顶向下、分而治之的方法,从而有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。

虽然结构化程序设计方法具有很多的优点,但它仍是一种面向过程的程序设计方法,它把数据和处理数据的过程分离为相互独立的实体。

当数据结构改变时,所有相关的处理过程都要进行相应的修改,每一种相对于老问题的新方法都要带来额外的开销,程序的可重用性差。

由于图形用户界面的应用,程序运行由顺序运行演变为事件驱动,使得软件使用起来越来越方便,但开发起来却越来越困难,对这种软件的功能很难用过程来描述和实现,使用面向过程的方法来开发和维护都将非常困难。

1-4什么是对象?什么是面向对象方法?这种方法有哪些特点?解:从一般意义上讲,对象是现实世界中一个实际存在的事物,它可以是有形的,也可以是无形的。

C语言程序设计(郑莉)课后习题答案

C语言程序设计(郑莉)课后习题答案

C++语言程序设计(清华大学莉)课后习题答案第一章概述1-1 简述计算机程序设计语言的发展历程。

解:迄今为止计算机程序设计语言的发展经历了机器语言、汇编语言、高级语言等阶段,C++语言是一种面向对象的编程语言,也属于高级语言。

1-2 面向对象的编程语言有哪些特点?解:面向对象的编程语言与以往各种编程语言有根本的不同,它设计的出发点就是为了能更直接的描述客观世界中存在的事物以及它们之间的关系。

面向对象的编程语言将客观事物看作具有属性和行为的对象,通过抽象找出同一类对象的共同属性(静态特征)和行为(动态特征),形成类。

通过类的继承与多态可以很方便地实现代码重用,大大缩短了软件开发周期,并使得软件风格统一。

因此,面向对象的编程语言使程序能够比较直接地反问题域的本来面目,软件开发人员能够利用人类认识事物所采用的一般思维方法来进行软件开发。

C++语言是目前应用最广的面向对象的编程语言。

1-3 什么是结构化程序设计方法?这种方法有哪些优点和缺点?解:结构化程序设计的思路是:自顶向下、逐步求精;其程序结构是按功能划分为若干个基本模块;各模块之间的关系尽可能简单,在功能上相对独立;每一模块部均是由顺序、选择和循环三种基本结构组成;其模块化实现的具体方法是使用子程序。

结构化程序设计由于采用了模块分解与功能抽象,自顶向下、分而治之的方法,从而有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。

虽然结构化程序设计方法具有很多的优点,但它仍是一种面向过程的程序设计方法,它把数据和处理数据的过程分离为相互独立的实体。

当数据结构改变时,所有相关的处理过程都要进行相应的修改,每一种相对于老问题的新方法都要带来额外的开销,程序的可重用性差。

由于图形用户界面的应用,程序运行由顺序运行演变为事件驱动,使得软件使用起来越来越方便,但开发起来却越来越困难,对这种软件的功能很难用过程来描述和实现,使用面向过程的方法来开发和维护都将非常困难。

C++程序设计--清华郑莉(全)

C++程序设计--清华郑莉(全)

程序设计方法的发展历程
C++语言程序设计
程序设计方法的发展历程

面 向 对 象 的 方 法
——面向过程的结构化程序设计方法
缺点:可重用性差、数据安全性差、难以 开发大型软件和图形界面的应用软件
– 把数据和处理数据的过程分离为相互独立的实 体。 – 当数据结构改变时,所有相关的处理过程都要 进行相应的修改。 – 每一种相对于老问题的新方法都要带来额外的 开销。 – 图形用户界面的应用程序,很难用过程来描述 和实现,开发和维护也都很困难。

C++语言程序设计
信息的分类 信
息 的 表 示 与 存 储
控制信息
指令
控制字 数值信息 非数值信息 定点数 浮点数 字符数据 逻辑数据
信息
数据信息
C++语言程序设计
计算机的数字系统 信
息 的 表 示 与 存 储
计算机采用的是二进制数字系统。 基本符号:0、1 进位原则:逢二进一 优点:
(0.2A)16=2×16-1+10×16-2=(0.1640625)10
不同进位记数制间的转换
C++语言程序设计
——十进制→ R 进制 信 息 十进制整数转换成R进制的整数 的 “除R取余”法,例如: 表 2 68 余 数 2 34 ┄┄┄┄┄┄┄┄┄┄┄ 0 低位 示 2 17 ┄┄┄┄┄┄┄┄┄┄┄ 0 与 2 8 ┄┄┄┄┄┄┄┄┄┄┄ 1 存 2 4 ┄┄┄┄┄┄┄┄┄┄ 0 储 2 2 ┄┄┄┄┄┄┄┄┄┄ 0
一般意义上的对象:
– 是现实世界中一个实际存在的事物。
– 可以是有形的(比如一辆汽车),也可 以是无形的(比如一项计划)。

C语言程序设计清华大学郑莉PPT课件

C语言程序设计清华大学郑莉PPT课件
象 的 方 法
第18页/共702页
面向对象的基本概念
面 — — 多 态 性 • 多态是指在一般类中定义的属性或行为,被特殊类继承之后,可以具有不同的数据类型或表现出不同的行 向 为 。 这 使 得 同 一 个 属 性 或 行 为 在 一 般 类 及 其 各 个 特 殊 类 中 具 有 不 同 的 语 义 。
• 例如:
对 数 的 加 法 - > 实 数 的 加 法 象- > 复 数 的 加 法 的 方 法
第19页/共702页
面向对象的软件工程
面 • 面向对象的软件工程是面向对象方法在软件工程领域的全面应用。它包括 : 向 • 面向对象的分析(OOA) 对 • 面向对象的设计(OOD)
• 面向对象的编程(OOP)
面向对象的语言
计 算 机
语 言 的
发 展
• 出发点: • 更直接地描述客观世界中存在的事物(对象)以及它们之间的关 系。
• 特点: • 是高级语言。 • 将客观事物看作具有属性和行为的对象。 • 通过抽象找出同一类对象的共同属性和行为,形成类。 • 通过类的继承与多态实现代码重用
第5页/共702页
程序设计方法的发展历程
面 — — 面 向 对 象 的 方法 • 将数据及对数据的操作方法封装在一起,作为一个相互依存、不可分离的整体 ——对象。 向 • 对同类型对象抽象出其共性,形成类。 对 • 类通过一个简单的外部接口,与外界发生关系。 象 • 对象与对象之间通过消息进行通讯。
的 方 法
第11页/共702页
向 • 是现实世界中一个实际存在的事物。
• 可以是有形的(比如一辆汽车),也可以是无形的(比如一项计划)。
对 • 是构成世界的一个独立单位,具有:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档