没有合适的资源?快使用搜索试试~ 我知道了~
面向对象程序设计完整版.doc
0 下载量 149 浏览量
2023-08-03
20:43:34
上传
评论
收藏 285KB DOC 举报
温馨提示
![preview](https://dl-preview.csdnimg.cn/88158685/0001-ccbdd246febbdc20c72f59e1aac312a4_thumbnail-wide.jpeg)
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
试读
148页
面向对象程序设计完整版.doc
资源推荐
资源详情
资源评论
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/release/download_crawler_static/88158685/bg1.jpg)
Object- Oriented Programming
C++
主讲 成长生
东华大学计算机科学与技术学院
![](https://csdnimg.cn/release/download_crawler_static/88158685/bg2.jpg)
资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。
第一章 概述
§1.1 面向对象程序设计的基本思想
C++是基于 C 语言发展的, 又冲破 C 语言局限的面向对象的程
序设计语言。它与 Java 语言都作为当前计算机科学的主流语言,
越来越受到用户的欢迎。
要弄清楚什么是面向对象的程序设计, 首先了解和回顾传统的
( Pascal( 或 C) ) 结构化程序设计方法及其设计思想、 程序结构
及特点。SP(Structure Programming)是 60 年代诞生的针对当时爆
发的所谓”软件危机”, 为此发展形成了现代软件工程学的基础。
SP 的总的设计思想是:
.自顶向下、 层次化
.逐步求精、 精细化
程序结构是按功能划分基本模块的树型结构, 使模块间的关系
尽可能简单独立。因此 SP 的程序的基本特点是:
.按层次组织模块( 战略上划分战役)
.每一模块只有一个入口, 一个出口
.代码和数据分离( 程序=数据结构+算法)
归纳得到: SP 把数据和过程( 代码、 函数) 分离为相互独立的
实体, 用数据代表问题空间中的客体借以表示实际问题中的信息;
程序代码则用来处理加工这些数据。程序员在编程时, 必须时刻考
虑所要处理的数据结构和类型。对不同的数据格式即使要作同样
![](https://csdnimg.cn/release/download_crawler_static/88158685/bg3.jpg)
资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。
的处理计算, 或者要对相同的数据格式作不同的处理都必须编写
不同的程序( 如两个整型数和两个浮点数相加) 。这样的编程方法,
即传统的 SP 方法设计出来的程序或系统其可重用的成分很少。其
次把数据和代码作为不同的分离实体时, 总存在着用错误的数据
调用正确的程序模块, 或用正确的数据调用错误的程序模块的危
险, 从而使数据与程序始终保持兼容, 已成为程序员的一个沉重的
负担。在开发一个大型软件课题中, 当工程进入到后期若用户改变
了方案要求, 很容易使技术人员的前期工作受到摧毁性的打击, 使
其前功尽弃。为克服以上的弊端或者该 SP 方法难以控制处理的矛
盾 而 产 生 了 面 向 对 象 程 序 设 计 方 法 , 即 Object - Oriented
Programming――OOP。从二十世纪六十年代提出对象的雏形, 到七
十年代美国国防部的专用语言 Ada 语言, 直到当前国际上流行的
高品味的 Java 和 C++(Tc++,Balandc++及 Vc++), , 应该讲 OOP 方
法与技术吸取了 SP 的一切优点, 同时又正视和顺应现实世界由物
质和意识二部分组成。映射到面向对象的解空间就是: 具体事物-
对象; 抽象概念-类。
OOP 的基本原理是用问题领域的模型来模拟大千世界, 从而设
计出尽可能直接、 自然地表示问题求解方法的软件, 这样的软件
由对象组成, 而对象则是完整反映客观世界事物具有不可分割的
静态属性( ”数据结构”) 与动态行为( ”方法”) 的。而且它们
是既有联系又有变化发展的实体( 实例) 。如人是一种抽象( 类) ,
![](https://csdnimg.cn/release/download_crawler_static/88158685/bg4.jpg)
资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。
而张三则是一个具体的一个人, 是类的实例, 故为对象, 她有自身
的一系列属性( 身高、 体重、 学历等) 。
面向对象抽象的原理有 4 个。分别是数据抽象, 行为( 操作)
共享, 进化和确定性。它们的作用简单地讲把数据封装起来达到数
据隐藏, 达到数据的高度安全; 不同层次的类操作( 行为) 尽可能
共享; 进化则是知识积累、 知识更新的长期过程; 确定性则是一
个相对概念, 对一个问题的认识和解释, 随着时间的推移, 其解释
也是在发生变化的。( 更具体的见 P3-但有困难, 这些概念在以后
的章节中才能详细讨论) 。
下面再解释三个专业术语。
1. 对象
什么是对象? 对象是私有数据及能够对这些数据施加操作结
合在一起所构成的独立实体。这里的操作就是一些操作代码。对
象的动作取决于发送给该对象的消息表示式, 消息告诉对象要求
完成的功能( What to do) , 并激活该功能, 这意味着对象具有自动”
知道”如何完成相应操作代码( How to do) 的”智能”选择机制。
与 SP 相比, OOP 的威力在此初步显露出来。从逻辑上来分析, 一个
对象是独立存在的模块, 从外部看这模块只需了解它具有哪些功
能, 至于它如何实现这些功能和使用哪些局部数据来完成它们的
细节则”隐蔽”在模块内部, 这就意味着模块内部状态不受外界干
扰改变, 也不会殃及到其它模块, 进而使模块间依赖性小到几乎没
![](https://csdnimg.cn/release/download_crawler_static/88158685/bg5.jpg)
资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。
有。
2. 类
什么是类?类是对一组具有相同数据成员和相同操作成员的
对象的说明。即类是抽象数据类型的实现, 一个类的所有对象都有
相同的数据结构和操作代码。每个对象都是某个类的一个具体实
例。( 有的文献中用实例来替代对象)
3. 继承
继承是 OOP 的一个重要机制。继承提供了创立新类的一种
方法。一个新类能够经过已有类进行修改或扩充来满足新类的要
求。新类共享已有类的行为, 而自己还具有修改或添加的行为。我
们把已有类称之为父类, 新类称为子类, 则子类继承父类, 而父类
派生子类。继承机制的主要优点是能减小代码和数据的重复冗余
度, 大大增强程序的重用性, 能清晰体现相似类之间的层次关系。
C++是一种面向对象的程序设计语言。这种语言有七个主要的
特点。
1) 数据封装
例 先说明一个类
class 类名
{
<成员函数>
body
剩余147页未读,继续阅读
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/b4e33dee3e6f433ca7c85e388d1cba5c_m0_64342982.jpg!1)
yyyyyyhhh222
- 粉丝: 421
- 资源: 6万+
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
- 华为HCIA-WLAN 3.0 课程视频(13 WLAN关键报文及STA上线.mp4)
- navicat教程.docx
- 华为HCIA-WLAN 3.0 课程视频(12 CAPWAP隧道.mp4)
- 华为HCIA-WLAN 3.0 课程视频(11 WLAN典型组网方案.mp4)
- 2429550184旺泓-096-1306-SPI接口带字库例程8pin.zip
- 华为HCIA-WLAN 3.0 课程视频(10 WLAN组网架构(下).mp4)
- 华为HCIA-WLAN 3.0 课程视频(09 WLAN组网架构(上).mp4)
- 计算机组成原理-复习提纲
- 华为HCIA-WLAN 3.0 课程视频(08 WLAN基本概念.mp4)
- 华为HCIA-WLAN 3.0 课程视频(07 WLAN的关键技术(下).mp4)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)