




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 面向对象程序设计 清华大学出版社编著者叶乃文王丹 2 第1章 面向对象程序设计概述 面向对象程序设计概论 3 1 1结构化程序设计方法1 2面向对象程序设计方法1 3基本概念1 4面向对象的程序设计语言 4 1 1结构化程序设计方法 1 1 1结构化程序设计方法的产生背景回首计算机的发展历程 人们发现计算机软件的发展速度始终滞后于计算机硬件的发展 它已经成为制约计算机产业整体发展的瓶颈 究其原因可能有很多方面 但下面两点不容忽视 软件产业的个体化受限于程序设计语言 5 1 1 2结构化程序设计方法 自顶向下 逐步求精的开发方法模块化的组织方式结构化的语句结构 6 自顶向下 逐步求精 将编写程序看成是一个逐步演化的过程 所谓自顶向下是指将分析问题的过程划分成若干个层次 每一个新的层次都是上一个层次的细化 即步步深入 逐层细分 7 模块化 将整个系统分解成若干个模块 每个模块实现特定的功能 最终的系统将由这些模块组装而成 模块之间通过接口传递信息 力求模块具有良好的独立性 8 语句结构化 顺序结构 分支结构 Y N 9 A T Y N while循环结构 do循环结构 10 结构化程序设计的特点 程序设计 数据结构 算法程序内容 过程 过程调用 11 1 1 3结构化求解问题域的基本过程 软件开发的基本过程 需求分析系统设计系统实现系统测试系统维护 12 M M1 M2 M3 M4 Mn M31 M32 M33 分解过程 组装过程 13 举例 设计一个程序 将从键盘上输入的100个整数重新按从小到大的顺序排序 并输出重新排序后的结果 14 1 2面向对象程序设计方法 1 2 1面向对象程序设计的产生背景审视问题域的视角抽象级别封装体可重用性 15 1 2 2面向对象程序设计方法 面向对象程序设计方法是指用面向对象的方法指导程序设计的整个过程 所谓面向对象是指以对象为中心 分析 设计及构造应用程序的机制 16 面向对象程序设计应该具有的特征 所有待处理的内容都表示成对象对象间依靠相互发送消息或响应消息实现通信每个对象都有自己的惟一标识 以便区别属于同一个类的不同对象 17 面向对象程序设计应该具有的特征 对象一定属于某个类 我们又将这个对象称为所属类的一个实例类是将具有共同属性的对象进行抽象的结果 它可以具有层次关系 即一个类既可以通过继承其他类而来 也可以被其他类继承 18 举例 快速拼写检查程序 快速拼写检查程序将对用户提供的单词进行拼写检查 如果在字典中找到 输出 拼写正确 的字样 否则输出 拼写不正确 的字样 19 结构化程序设计方法 20 举例 快速拼写检查程序 快速拼写检查程序将对用户提供的单词进行拼写检查 如果在字典中找到 输出 拼写正确 的字样 否则输出 拼写不正确 的字样 21 面向对象程序 对象 消息 22 面向对象程序设计的优点 1 能够实现对现实世界客体的自然描述2 可控制程序的复杂性3 可增强程序的模块性4 可提高程序的重用性5 可改善程序的可维护性6 可适应新型的硬件环境 23 1 3基本概念 抽象 抽象是解决任何问题所采用的基本策略 是人类认识世界的本能方式 所谓抽象是指从许多事物中 舍弃个别的 非本质的属性 抽取出共同的 本质的属性的过程 它是形成概念的必要手段 抽象主要包括过程抽象和数据抽象两个部分 所谓过程抽象是指功能抽象 即舍弃个别的功能 抽取共同拥有的功能 24 数据抽象是一种更高级别的抽象方法 它将现实世界中存在的客体作为抽象单元 其抽象内容既包括客体的属性特征 也包括行为特征 它是面向对象程序设计所采用的核心方法 模块化和信息隐蔽是数据抽象过程的两个主要概念 25 封装 封装是指将现实世界中某个客体的属性与行为聚集在一个逻辑单元内部的机制 利用这种机制可以将属性信息隐藏起来 外界只能够通过提供的特定行为接口改变或获取其属性状态 在面向对象的程序设计中 封装是指将对象的属性和行为分别用数据结构和方法描述 并将它们绑定在一起形成一个可供访问的基本逻辑单元 26 27 对象 对象是用来描述现实世界中客体的部件 是面向对象软件系统在运行时刻的基本单位 为了区分属于同一个类的不同对象 每个对象都有一个惟一的标识 28 对象应该具有下面5个基本特性 自治性 指对象具有一定的独立操作能力 封闭性 指对象具有信息隐蔽的能力 通信性 指对象具有与其他对象通信的能力 被动性 指对象的状态转换需由外界刺激引发 暂存性 指对象的动态创建与消亡 29 类 类是一组具有相同属性特征的对象的抽象描述 是面向对象程序设计的又一个核心概念 类是对象抽象的结果 有了类 对象就是类的具体化 是类的实例 类可以有子类 同样也可以有父类 从而构成类的层次结构 类之间主要存在三种关系 它们是 依赖 聚合和泛化 30 消息 消息是一个对象要求另一个对象实施某项操作的请求 在一条消息中 需要包含消息的接收者和要求接收者执行哪项操作的请求 而并没有说明应该怎样做 具体的操作过程由接收者自行决定 31 消息传递是对象之间相互联系的惟一途径 发送者发送消息 接收者通过调用相应的方法响应消息 这个过程被不断地重复 使得应用程序在人的有效控制下运转起来 最终得到相应的结果 可以说 消息是驱动面向对象程序运转的源泉 32 继承 继承是类之间的一种常见关系 这种关系为共享数据和操作提供了一种良好的机制 通过继承 一个类的定义可以基于另外一个已经存在的类 继承是面向对象程序设计方法的一个重要标志 利用继承机制可以大大提高程序的可重用性和可扩充性 父类 子类 33 多态性 不同的类对象收到同一个消息可以产生完全不同的响应效果 这种现象叫做多态 利用多态机制 用户可以发送一个通用的消息 而实现的细节由接收对象自行决定 这样 同一个消息可能会导致调用不同的方法 34 面向对象的4个特性 抽象性封装性继承性多态性 35 1 4面向对象的程序设计语言 所谓面向对象程序设计语言OOPL Object OrientedProgrammingLanguage 是指提供描述面向对象方法所涉及到的类 对象 继承和多态等基本概念的程序设计语言 它应该具有下列特征 识别性 分类性 继承性和多态性 36 几种有代表性
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 匿名留言活动方案
- 同城爱心接力活动方案
- 参观浏览活动方案
- 即食卤味活动方案
- 古村落宣传活动方案
- 厨柜抽奖活动方案
- 吴川美食抢购活动方案
- 2025至2030中国跳跳糖行业项目调研及市场前景预测评估报告
- 2025至2030中国磷酸西他列汀行业市场深度调研及竞争格局与投资发展报告
- 2025至2030中国磁旋光玻璃透镜产业销售策略及竞争格局展望报告
- DBJ50-T-271-2017 城市轨道交通结构检测监测技术标准
- 江西省南昌市江西科技师范大学附属中学2023-2024学年高一下学期第二次月考数学试卷
- DZ∕T 0207-2020 矿产地质勘查规范 硅质原料类(正式版)
- (完整版)环境影响评价期末考试复习
- 四年级数学(四则混合运算)计算题专项练习与答案汇编
- 《家政学概论》课件-第一章-现代家政概述
- GB/T 144-2024原木检验
- 宁德时代入职测评试题答案
- SLT278-2020水利水电工程水文计算规范
- 企业战略管理(陈志军第3版)课件全套 第1-10章 导论、使命目标与社会责任 - 战略变革
- 轨道工程施工技术及施工管理(附图)
评论
0/150
提交评论