




免费预览已结束,剩余125页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,回顾:面向过程的设计方法,重点:如何实现细节过程,将数据与函数分开。形式:主模块+若干个子模块(main()+子函数)。特点:自顶向下,逐步求精功能分解。缺点:效率低,程序的可重用性差。,面向对象的思想,2,面向对象的方法,目的:实现软件设计的产业化。观点:自然界是由实体(对象)所组成。程序设计方法:使用面向对象的观点来描述模仿并处理现实问题。要求:高度概括、分类、和抽象。,面向对象的思想,3,抽象,抽象是对具体对象(问题)进行概括,抽出这一类对象的公共性质并加以描述的过程。先注意问题的本质及描述,其次是实现过程或细节。数据抽象:描述某类对象的属性或状态(对象相互区别的物理量)。代码抽象:描述某类对象的共有的行为特征或具有的功能。抽象的实现:通过类的声明。,OOP的基本特点,4,抽象实例钟表,数据抽象:intHour,intMinute,intSecond代码抽象:SetTime(),ShowTime(),OOP的基本特点,5,抽象实例钟表类,classClockpublic:voidSetTime(intNewH,intNewM,intNewS);voidShowTime();private:intHour,Minute,Second;,OOP的基本特点,6,抽象实例人,数据抽象:char*name,char*gender,intage,intid代码抽象:生物属性角度:GetCloth(),Eat(),Step(),社会属性角度:Work(),Promote(),OOP的基本特点,7,封装,将抽象出的数据成员、代码成员相结合,将它们视为一个整体。目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只需要通过外部接口,以特定的访问权限,来使用类的成员。实现封装:类声明中的,OOP的基本特点,8,封装,实例:classClockpublic:voidSetTime(intNewH,intNewM,intNewS);voidShowTime();private:intHour,Minute,Second;,特定的访问权限,OOP的基本特点,封装可以解决数据与函数代码之间的相容性和数据的保护问题。先看C语言中不用封装的例子。,9,C+与面向对象程序设计,例1不用封装的例子,10,C+与面向对象程序设计,#includeintsq_int(inta)returna*a;doublesq_dbl(doublea)returna*a;,voidmain()inti=5;doubled=2.5;i=sq_int(i);d=sq_dbl(d);coutiendl;coutdendl;/*Results:256.25*/,此程序比较简练(当然还可以再简练些),但它改变了i和d的值。如果不希望改变这两个值,可以将主程序修改如下,增加两个变量:,11,C+与面向对象程序设计,voidmain()inti=5,j;doubled=2.5,f;j=sq_int(i);f=sq_dbl(d);coutjendl;coutfendl;,12,C+与面向对象程序设计,但又如何保证它需要修改时才修改,不需要修改时不修改。这要依靠封装。,13,C+与面向对象程序设计,例2使用封装以便保护数据#includeclassinteg/用户建立一个类,用于封装inti;public:integ()i=6;/构造函数intsq()returni*i;/平方函数voidinc()i+;/增量函数intread()returni;/读数据函数;,14,C+与面向对象程序设计,voidmain()inti;integobji;/建立对象并初始化coutobji.read()endl;i=obji.sq();/平方coutiendl;coutobji.read()endl;obji.inc();/增量coutobji.read()*定义指向数据成员的指针定义指向成员函数的指针使用指向数据成员/成员函数的指针STL函数配接器:mem_fun;mem_fun_ref,122,C+与面向对象程序设计,3.5、综合应用举例,123,C+与面向对象程序设计,3.5综合应用举例一元二次方程求根,对不同情况的方程,计算根并输出类Root:根据根的不同情况,记录并输出根类Equation:设置系数求解根,124,C+与面向对象程序设计,3.5方程求根类Root-定义,125,C+与面向对象程序设计,3.5方程求根类Root-Print,126,C+与面向对象程序设计,3.5方程求根类Equation-定义,127,C+与面向对象程序设计,3.5方程求根类Equation-Solve,128,C+与面向对象程序设计,3.5方程求根类Equation-main,129,C+与面
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026广东湛江市雷州市银龄讲学教师招募79人备考试题及答案解析
- 2025广东汕尾市消防救援支队招聘政府专职消防员28人笔试备考试题及答案解析
- 2025贵州赖茅酒业有限公司招聘11人笔试备考题库及答案解析
- 2025安徽合肥市市属医疗卫生单位引进急需紧缺人才66人笔试模拟试题及答案解析
- 2025广东韶关市乳源瑶族自治县高级中学第二批特聘骨干教师3人笔试备考试题及答案解析
- 塑窗销售合同范本
- 酮症酸中毒神经保护-洞察及研究
- 商铺院子出租合同范本
- 2025-2030中国农村饮用水安全工程投资效益评估报告
- 商务包车使用合同范本
- 2025年人教版PEP英语三年级上册教学计划
- 2025年高一上学期英语开学第一课课件
- 新老物业交接流程
- 全球视野下劳动报酬占GDP份额的比较与影响因素探究
- 校园网络安全知识培训课件
- 【高中】【政治】2025【秋季】开学第一课:你好高中政治(课件)
- 2025年卫生招聘考试之卫生招聘(财务)练习题及答案
- 新教材2025人教版七年级上册全部单词默写版
- 【初二】【八年级】【英语】2025【秋】开学第一课【人教版】(课件)
- (2025年标准)家庭寄宿协议书
- 住房保障知识业务培训课件
评论
0/150
提交评论