第1讲面向对象的程序设计的特点

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.1.4 继承
什么是继承
– 在面向对象的程序设计中,允许在已有类的基 础上通过增加新特征而派生出新的类,这称为 继承。 – 是类之间的一种关系 – 其 原 有 的 类 称 为 基 类 ( base class ) ( 或 父 类) ,而新建立的类称为派生类(或子类)。 – 派生类具有基类的所有特性和方法
3.1 3.2 3.3 3.4 3.5 开发环境概述 开发环境的菜单功能 开发环境的工具栏及使用 项目和项目工作区 资源
第4章 Windows应用程序
4.1 4.2 4.3 4.4 Windows编程基础知识 Window应用程序常用消息 Windows中的事件驱动程序设计 Windows应用程序基本结构
封装的特点:
– 一个清楚的边界。所有对象的成分都在这个边 界内。 – 一个接口。 外部通过这个接口访问对象的内部 成员。
封装
封装的优点:
– 数据独立 (如每件事物都对应于一对象) – 具有隐藏性和安全性 (如银行的帐户) – 易于维护(由于数据独立,易于发现问题)
封装的缺点:
– 需要更多的输入输出函数。
– 减少原代码, 即代码可重用。 – 代码的相互独立性。 – 易于维护。 – 体现自然界之间的关系。
1.1.5 消息
什么是消息
– 当一个对象需要另外一个对象提供服务时,它 向对方发出一个服务请求,而收到请求的对象 会响应这个请求并完成指定的服务。 – 这种向对象发出的服务请求就称为消息
例子:
– 售货亭中顾客对售货员说“买一支牙膏!”
类与对象的关系
类 抽象定义 例题3.

对象 实例
课程 ⇔ 英语课程 学生 ⇔ 学生王强 模板 ⇔ 应用模板产生的文件 类型 ⇔ 变量, 如 C 语言中的int 和 int x;
1.1.3 封装
为什么引入封装机制?
– 考虑一个仓库,外部只能通过管理员获取物品
物品名称,单 属性 价,数量等等 抽象 提供物品 入出库帐 单等等
主要章节和授课内容 第2章 面向对象的程序设计
2.1 类与对象 2.2 构造函数与析构函数 2.3 继承和派生 2.4 虚函数和多态性 2.5 静态成员 2.6 友员函数与友员类 2.7 堆对象和对象数组 2.8 运算符的重载 2.9 模板与使用 2.10 文件及其操作
主要章节和授课内容 第3章 Visual C++开发环境
仓库
方法
封装 例: 考虑类‘帐户’,其表示如下:
帐户 帐户号,户主,身份证号,地址, 电话,密码,存款。 修改显示帐户号,户主,身份证号, 地址,电话,密码,存款。 问题的提出: 从现实世界的实例表明,类的一些消息需要保护,外 界不能随意提取修改,面向对象的封装就提供这一需 求。
封装
什么是封装
– 把对象的属性和方法结合成一个独立的单元, 并尽可能隐蔽对象的内部细节。 – 封装把对象的属性和方法看成了一个密不可分 的整体,从而使对象能够完整地描述并对应于 一个具体事物 。
几何图形 圆 长方形 三角形
多态性
多态性的作用
– 派生类继承了基类的属性和方法后,可以有自 己的不同于基类的数据类型和行为。 – 其好处是,用户不必知道某个对象所属的类就 可以执行多态行为,从而为程序设计带来更大 方便
面向对象与结构化程序设计比较
传统的结构化程序设计方法以过程为中心构造 应用程序,数据和处理数据的过程代码是分离的、 相互独立的实体,设计维护数据和代码的一致性的 程序可重用代码少,且当代码量增加时困难。 面向对象程序设计方法中,对象所具有的封装 性和继承性使得代码重用成为可能,并大大减少了 程序出错的可能性。 面向对象方法吸收了结构化程序设计方法的优 点,同时引入了新概念、新机制并建立了比传统方 法更高层次的抽象。
主要章节和授课内容 第1章 C++基础知识
1.1 面向对象的程序设计的特点 1.2 C++程序的基本组成 1.3 C++的数据类型、运算符和表达式 1.4 数据输入与输出 1.5 C++控制语句 1.6 数组及其使用 1.7 函数 1.8 指针类型及使用 1.9 引用 1.10 结构体、共用体和枚举
Biblioteka Baidu
学到了什么
面向对象的程序设计方法中的有关概念
– 对象 –类 – 封装 – 继承 – 消息 – 多态性
思考、复习和作业题
1、什么是类?什么是对象?二者之间的区别 和联系是什么? 2、什么是封装?封装的优点和缺点各是什 么? 3、什么是继承?继承的特点是什么? 4、什么是消息?消息的组成和作用是什么? 5、什么是多态性?多态的作用是什么?
7.1 7.2 7.3 7.4 键盘在应用程序的应用 键盘操作应用举例 鼠标在应用程序的应用 鼠标应用程序举例
第8章资源在Windows编程中的应用
8.1 8.2 8.3 8.4 菜单和加速键资源及其应用 位图资源及其应用 对话框资源及其应用 图标资源的应用
主要章节和授课内容 第9章 MFC基础知识
接受信息
1.1.6 多态性
什么是多态性
– 在通过继承而派生出的一系列类中,可能存在 一些名称相同,但实现过程和功能不同的方法 – 所谓多态性是指当程序中的其他部分发出同样 的消息时,按照接收消息对象的不同能够自动 执行类中相应的方法。
多态性
例:
– 几何图形类层次中的多态性。其派生类“圆”、 “长方形”、“三角形”等都有服务“求面积”
继承
交通工具
火车
汽车
飞机
轮船
卡车
旅行车
小汽车
工具车
轿车
面包车
继承
人 学生 商人 研究生 教师 讲师 干部
中学生 大学生
教授
继承
继承的特点:
– 共享性: – 派生类具有基类所有特征,即:A ⊂ B – 区别性: – 派生类不等于基类,即 A≠B – 层次性: – 表示了类之间的关系
继承
继承的优点
前言
参考教 材 《面向对象的程序设计语言C++》 陈志泊等编 人民邮电出版社 《Visual C++面向对象与可视化程序设计》 黄维通编著 清华大学出版社
课程目标
掌握C++编程语言的基本知识 掌握面向对象程序设计的基本思想和编 程方法 初步具备进行Windows图形用户界面程序 设计的能力 掌握MFC的基本概念 学会在VC++6.0环境下,开发C++控制台 程序和Windows图形用户界面程序的方法
结 束
消息的作用
– 提供类之间的动态联系 – 对象通过消息对外提供服务
消息 例子:
分析两个对象 “打印机” 和“操作系统” 之间的消息通信 对象A: 打印机 接 受 消 息 返 回 信 息
执 行
结 束
对象B: 操作系统 发送打印消息 对象标志: 服务标志: 输入信息: 输出信息: 打印机, 打印 要打印的文件 打印结束
对象名 学生王强 属性 方法 学号、姓名、专业、性别、 年龄、身份证号、电话等等 获取和修改学号、姓名、 专业、性别、年龄等等
对象
例题 2:对象“ 英语课程” 的有关抽象描述
对象名 属性 方法 英语课程 课程名、编号、学时数、选课 要求、任课教师等 获取并修改课程名、编号、学 时数、选课要求、任课教师等
消息
消息的组成
– – – – – – – – 对象标志 服务标志 输入信息 输出信息 对象标志: 服务标志: 输入信息: 输出信息: 你 把那本书拿给我 那本书 书给我
例: “你把那本书拿给我!”
消息
消息的执行流程
创 建 对 象 发 送 消 息 受 消 息 接 分 析 处 理 消 息 返 回 相 应 信 息
注意点:
1.一体性:对象名、属性、方法三者是一体的 2.属性是对对象的静态描述. 3.方法是对对象的动态描述. 4.外部是通过调用方法与对象取得联系.
1.1.2 类
什么是类
– 具有相似属性和行为的一组对象,就称为类。 – 类是具有相同属性和方法的集合,它提供对对象 的抽象描述。 – 可见,有了类的概念以后,就可以对具有共同 特征的事物进行统一描述。
外形 尺寸 颜色 开 关 设置
1.1.1 对象
什么是对象?
一般意义上:对象是客观存在的事物 实体对象 一台计算机
从C++程序的角度: 对象用来描述客观事物的一个实体,它是构成系统的 一个基本单元。
对象
对象的组成
– 属性:描述了对象的状态和特征 – 方法(也称服务):说明了对象的行为和功能 例题 1:考虑对象 “学生王强”,具体描述为:
主要章节和授课内容 第5章 Windows的图形设备接口及Windows绘图
5.1 5.2 5.3 5.4 图形设备接口的基本概念 绘图工具与颜色 常用绘图函数 应用实例
第6章 文本的输出方法与字体的设置
6.1 设置文本的设备环境 6.2 文本输出过程 6.3 文本操作实例
主要章节和授课内容 第7章Windows应用程序对键盘与鼠标的响应
1.1 面向对象的程序设计的特点 学习内容
面向对象的程序设计方法中的有关概念
1.1.1 对象 1.1.2 类 1.1.3 封装 1.1.4 继承 1.1.5 消息 1.1.6 多态性
面向对象的程序设计方法 属性 对象 电 视 行为 功能 外部特性
面向 对象 的软 件开发和相应的 面向对象的问题 求解是当今计算 机技术发展的重 要成果和趋势之 一。它围绕现实 世界概念来组织 模型,这种求解 过程比较符合人 们日常生活思维 方式。
9.1 9.2 9.3 9.4 MFC概述 MFC类的组织结构及主要的类介绍 MFC的全局函数和全局变量 应用程序向导
第10章 Windows 标准控件在可视化编程中的应用
10.1 概述 10.2 按钮控件及其应用 10.3 编辑框控件及其应用
第1章 C++基础知识
面向对象的程序设计的特点 C++程序的基本组成 C++的数据类型、运算符和表达式 数据输入与输出 C++控制语句 数组及其使用 函数 指针类型及使用 引用 结构体、共用体和枚举
相关文档
最新文档