- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 3 章
;本章主要内容:
类和对象
类继承
多态性:虚函数,重载,模板;结构化程序设计的特点:
是一种自上而下、逐步细化的模块化程序设计方法。
Wirth N的观点:算法 + 数据结构 = 程序
是一种面向过程程序设计方法,即一个程序是由多个过程(在C++中为函数)模块组成,过程之间通过函数参数和全局变量进行相互联系。
;与非结构化程序相比,结构化程序在调试、可读性和可维护性等方面都有很大的改进。
代码重用性不高:以过程为中心设计新系统,除了一些标准函数,大部分代码都必须重新编写。
由于软、硬件技术的不断发展和用户需求的变化,按照功能划分设计的系统模块容易发生变化,使得开发出来的模块的可维护性欠佳。
面向过程模式将数据与过程分离,若对某一数据结构做了修改,所有处理数据的过程都必须重新修订,这样就增加了很多的编程工作量???;什么是对象:
现实世界是由各种各样的事物组成,包括真实的事物和抽象的事物。例如,人、动物、汽车(真实的事物)和程序、直线(抽象的事物)等。
每一类事物都有自己特定的属性(如大小、形状、重量等)和行为(如生长、行走、转弯、运算等),人们通过研究事物的属性和行为而认识事物。
在计算机科学中将这些现实世界中的事物称之为对象。对象是包含现实世界中事物特征的抽象实体,它反映了系统为之保存信息和与之交互的方法。
在程序设计领域,可以用如下公式表示:
对象 = 数据 + 作用于这些数据上的操作;为了描述属性和行为相同的一类对象,引入了类(class)的概念。
类是具有相同数据结构(属性)和相同操作功能(行为)的对象的集合,它规定了这些对象的公共属性和行为方法。
对象是类的一个实例,例如,汽车是一个类,而行驶在公路上的一辆汽车则是一个对象。
对象和类的关系相当于程序设计语言中变量和变量类型的关系。;OOP围绕现实世界的概念来组织模块,采用对象描述问题空间的实体,用程序代码模拟现实世界中的对象,使程序设计过程更自然、更直观。
SP是以功能为中心来描述系统,而OOP是以数据为中心来描述系统。相对于功能而言,数据具有更强的稳定性。
OOP模拟了对象之间的通信。就象人们之间互通信息一样,对象之间也可以通过消息进行通信。这样,我们不必知道一个对象是怎样实现其行为的,只需通过对象提供的接口进行通信并使用对象所具有的行为功能。;OOP把一个复杂的问题分解成多个能够完成独立功能的对象(类),然后把这些对象组合起来去完成这个复杂的问题。
一个对象可由多个更小的对象组成,如汽车由发动机、传送系统和排气系统等组成。这些对象(类)可由不同的程序员来设计,可在不同程序中使用,就象一个汽车制造商使用许多零部件去组装一辆汽车,而这些零部件可能不是自己生产的。
采用面向对象模式就象在流水线上工作,我们最终只需将多个零部件(已设计好的对象)按照一定关系组合成一个完整的系统。;class Time {
private:
int hour; // 数据成员,表示小时
int minute; // 数据成员,表示分钟
int second; // 数据成员,表示秒
public:
void setTime(int h, int m, int s) // 成员函数,设置时间
{
hour=(h=0 h24) ? h:0;
minute=(m=0 m60) ? m:0;
second=(s=0 s60) ? s:0;
}
void showTime() // 成员函数,输出时间
{ couthour:minute:secondendl; }
};;main()
{
Time EndTime; // 声明对象EndTime
// 设置对象EndTime的时间(属性,数据成员)
EndTime.setTime(12, 23, 36);
coutThe time is:;
// 显示对象EndTime的时间
EndTime.showTime();
};面向对象程序设计方法的基本特征;2. 封装
封装是把每个对象的数据(属性)和操作(行为)包装在一个类中。一旦定义了对象的属性和行为,则必须决定哪些属性和行为只用于表示内部状态,哪些属性和行为在外部是可见的。
一般限制直接访问对象的属性,而应通过操作接口访问,这样使程序中模块之间关系更简单、数据更安全。对程序的修改也仅限于类的内部,使得由于修改程序所带来的影响局部化。;3. 继承
继承是指一个新类可以从现有的类派生而来。新类
您可能关注的文档
最近下载
- 眼外伤ppt课件-眼外伤健康教育课件.ppt VIP
- 《新时代思想读本》3.2新时代新征程课件.pptx VIP
- 2024-2025学年初中信息科技湘教版2024七年级上册-湘教版2024教学设计合集.docx
- 人教鄂教版科学四年级上册全册教学设计教案.doc
- DB11T 945.1-2023建设工程施工现场安全防护、场容卫生及消防保卫标准 第1部分:通则.pdf VIP
- 外研版六年级(上册)M4U2.ppt VIP
- 大学课程思政案例(高校课程思政案例)-思政案例内容整理.docx VIP
- 《无人机综合监管与航路规划》全套教学课件.pptx VIP
- (优质!)Amfori BSCI社会责任验厂全套管理手册及程序文件.docx VIP
- 自-电大__电工电子技术总复习题及答案 .doc VIP
文档评论(0)