《c++程序设计》课件第1章 面向对象程序设计概述.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《c++程序设计》课件第1章 面向对象程序设计概述.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+程序设计 c+程序设计课件第1章 面向对象程序设计概述 c+ 程序设计 课件 面向 对象 概述
- 资源描述:
-
1、面向对象程序设计C+v主讲教师:邵兰洁主讲教师:邵兰洁v办公地点:办公地点:F103F103v电子邮箱:电子邮箱:(答疑邮箱答疑邮箱)v公共邮箱:公共邮箱:homeworkcpp163.COMhomeworkcpp163.COM 邮箱密码:邮箱密码:beifangbeifang(“(“北方北方”的汉语拼音的汉语拼音)(放与课程相关的资料、课后作业等放与课程相关的资料、课后作业等)v 课程性质:专业基础课(考试课)课程性质:专业基础课(考试课)v 学时数:学时数:6464学时学时(其中上机其中上机3232学时学时)v 学分数:学分数:4 4学分学分 v 所用教材:C+程序设计v 参考资料:1 1
2、.C+C+程序设计上机指导与补充习题程序设计上机指导与补充习题(电子版电子版)2.2.高质量高质量C+/CC+/C编程指南编程指南林锐(电子版)林锐(电子版)3.3.C+C+面向对象程序设计面向对象程序设计郭有强等编著,清郭有强等编著,清华大学出版社,华大学出版社,20092009年。(年。(PPTPPT课件)课件)v 参考资料:4.C+C+编程思想编程思想第第1 1卷卷(第第2 2版版):标准:标准C+C+导引导引 (美)美)Bruce EckelBruce Eckel著著 刘宗田等译刘宗田等译 机械工业出版社机械工业出版社5.5.C+C+编程思想编程思想第第2 2卷:实用编程技术卷:实用编
3、程技术 (美)美)Bruce EckelBruce Eckel、Chuck AllisonChuck Allison著著 刁成嘉等译刁成嘉等译 机械工业出版社机械工业出版社v 参考资料:6.全国计算机等级考试二级C+程序设计-考点精讲例题解析强化训练.全国计算机等级考试命题研究组.7.全国计算机等级考试二级教程-C+语言程序设计 教育部考试中心.v上机时间上机时间:08 08软件:每周四软件:每周四5 5,6 6节(节(1-161-16周)周)08 08计科:每周四计科:每周四7 7,8 8节(节(1-161-16周)周)v上机地点上机地点:08 08软件:软件:A411+A309A411+A
4、309 08 08计科:计科:A310+A313A310+A313 v成绩评定:成绩评定:总成绩总成绩 =平时平时(20%)+(20%)+期中期中(10%)(10%)+大作业大作业(10%10%)+期末期末(60%)(60%)平平 时:时:包括考勤(包括考勤(10%10%)+作业(作业(10%10%)期中考试:期中考试:上机考试上机考试 期末考试:期末考试:笔试笔试C+C+C对对C语言语言功能的增强功能的增强增加了面对增加了面对对象的机制对象的机制程序设计程序设计方法方法面对对象面对对象程序设计程序设计面向过程面向过程程序设计程序设计目录目录1234面向对象程序设计概述面向对象程序设计概述5C
5、+基础知识基础知识类和对象类和对象继承与组合继承与组合多态性与虚函数多态性与虚函数目录目录6789面向对象的妥协面向对象的妥协10运算符重载运算符重载模板模板输入输出流输入输出流异常处理异常处理本课程学习目标本课程学习目标理解面向对象编程的基本思想掌握面向对象编程的基本方法掌握C+面向对象编程技术,学会利用C+语言进行一般面向对象程序的设计,解决一般应用问题,并为后续专业课程(VC、Java)的学习奠定程序设计基础。v学习方法学习方法:1.1.抓好三个环节:抓好三个环节:课前课前、课上课上、课后课后 2.2.多编程、多上机:多编程、多上机:v课堂纪律:课堂纪律:第第1章章 面向对象程序设计概述
6、面向对象程序设计概述本章从一个小型的学生信息管理系统的面向过程程序设计出发,讨论了传统的面向过程程序设计方法的不足,进而引出面向对象程序设计方法,介绍面向对象程序设计的编程思想,面向对象程序设计的基本概念,面向对象程序设计的优点。最后简单介绍面向对象的软件开发。本章内容简介本章内容简介第第1章章 面向对象程序设计概述面向对象程序设计概述本章学习目标本章学习目标1.了解传统的面向过程程序设计方法的不足2.理解面向对象程序设计的编程思想3.理解并掌握面向对象程序设计的基本概念4.领会面向对象程序设计的优点5.了解面向对象的软件开发过程第第1章章 面向对象程序设计概述面向对象程序设计概述v面向过程程
7、序设计的基本思想:面向过程程序设计的基本思想:功能分解功能分解、逐步求精逐步求精、模块化模块化、结构化结构化。1.1 面向过程程序设计面向过程程序设计第第1章章 面向对象程序设计概述面向对象程序设计概述v【例例1-1】运用面向过程程序设计方法设计一个小型运用面向过程程序设计方法设计一个小型的学生信息管理系统。该系统要管理的学生信息包的学生信息管理系统。该系统要管理的学生信息包括:学号括:学号(Num)、姓名、姓名(Name)、性别、性别(Sex)、出生、出生日期日期(Birthday)、三门课成绩、三门课成绩英语英语(English)、数、数据结构据结构(DataStructure)、C+程序
8、设计程序设计(CPlusPlus)、总成绩、总成绩(Sum)、平均成绩、平均成绩(Average),学生信,学生信息表如表息表如表1-1所示。所示。1.1 面向过程程序设计面向过程程序设计第第1章章 面向对象程序设计概述面向对象程序设计概述学号学号姓名姓名性性别别出生出生日期日期英语英语成绩成绩数据结数据结构成绩构成绩C+C+成绩成绩总成绩总成绩平均成绩平均成绩2007020200120070202001邓光辉邓光辉男男89-02-0589-02-0587878888909026526588.388.32007020200220070202002杜丽丽杜丽丽女女90-09-2090-09-20
9、79798080757523423478.078.02007020200320070202003姜志远姜志远男男90-11-0890-11-0868688484707022222274.074.02007020200420070202004张大伟张大伟男男88-08-0588-08-0570706767828221921973.073.0表表1-1 1-1 学生信息表学生信息表 第第1章章 面向对象程序设计概述面向对象程序设计概述v该学生信息管理系统要具有如下功能该学生信息管理系统要具有如下功能:(1)显示学生信息显示学生信息:显示全部学生的信息。:显示全部学生的信息。(2)查询学生信息查询学
10、生信息:按学号或姓名查询学生信息,:按学号或姓名查询学生信息,查询结果直接显示在屏幕上。查询结果直接显示在屏幕上。(3)添加学生信息添加学生信息:对学生信息进行添加。:对学生信息进行添加。(4)修改学生信息修改学生信息:按学号修改学生信息。:按学号修改学生信息。1.1 面向过程程序设计面向过程程序设计第第1章章 面向对象程序设计概述面向对象程序设计概述v该学生信息管理系统要具有如下功能该学生信息管理系统要具有如下功能:(5)删除学生信息删除学生信息:按学号删除学生信息。:按学号删除学生信息。(6)统计学生成绩统计学生成绩:统计每个学生的总成绩和平均成:统计每个学生的总成绩和平均成绩,或统计所有
11、学生某一门课的总成绩和平均成绩。绩,或统计所有学生某一门课的总成绩和平均成绩。(7)学生信息排序学生信息排序:按学号、总成绩或某一门课成绩:按学号、总成绩或某一门课成绩排序。排序。(8)备份学生信息备份学生信息:把所有学生信息备份一份。:把所有学生信息备份一份。1.1 面向过程程序设计面向过程程序设计实现该系统的实现该系统的C程序框架程序框架/*学生信息管理系统C语言源代码student.c*/#include /*包含输入/输出头文件*/#include /*包含字符串处理头文件*/typedef struct /*用于存放生日信息的结构体*/int year;int month;int d
12、ay;Date;实现该系统的实现该系统的C程序框架程序框架typedef struct /*用于存放学生信息的结构体*/char Num15;char Name10;char Sex;float English;/*英语课成绩*/float DataStructure;/*数据结构课成绩*/float CPlusPlus;/*C+课成绩*/float Sum,Average;/*总成绩、平均成绩*/Student;实现该系统的实现该系统的C程序框架程序框架/*用于存放读入内存中的所有学生信息的全局数组*/Student stud100;int count=0;/*存放实际学生人数的全局变量*/
13、*各自定义函数原型声明*/void ReadData();/*读取学生信息到全局数组stud中*/void Display();/*显示学生信息*/void Search();/*查询学生信息*/void SearchNum();/*按学号查询学生信息*/void SearchName();/*按姓名查询学生信息*/void BackupData();/*备份学生信息*/实现该系统的实现该系统的C程序框架程序框架void main()/*系统功能以菜单的形式提供给用户*/char choice;ReadData();for(;)/*显示系统功能菜单*/printf(*学生信息管理系统*n);p
14、rintf(*n);printf(“*1显示学生信息 *n);printf(*2查询学生信息 *n);实现该系统的实现该系统的C程序框架程序框架printf(*8备份学生信息 *n);printf(“*0退出系统 *n);printf(*n);printf(请选择要执行的操作(08):_ n);scanf(%c,&choice);switch(choice)case 1:Display();break;case 2:Search();break;case 0:return;default:printf(选择错误!请重新选择。n);/*switch结束*/实现该系统的实现该系统的C程序框架程序框
15、架 /*for结束*/*main函数结束*/*各自定义函数实现代码*/void ReadData()void Display()void Search()第第1章章 面向对象程序设计概述面向对象程序设计概述v从上述学生信息管理系统的从上述学生信息管理系统的C程序框架可以看出,运程序框架可以看出,运用面向过程程序设计方法所设计出来的程序,用面向过程程序设计方法所设计出来的程序,数据和数据和操作数据的函数是分离的。操作数据的函数是分离的。所有数据都是公用的,一所有数据都是公用的,一个函数可以使用任何一组数据,而一组数据又能被多个函数可以使用任何一组数据,而一组数据又能被多个函数所使用。个函数所使用
16、。用面向过程程序设计方法所设计出来用面向过程程序设计方法所设计出来的程序模型如图的程序模型如图1-1所示。所示。1.1 面向过程程序设计面向过程程序设计图1-1 面向过程程序设计的程序模型第第1章章 面向对象程序设计概述面向对象程序设计概述v面向过程的结构化程序设计在面向过程的结构化程序设计在20世纪世纪60年代末、年代末、70年代初从一定程度上缓解了当时的年代初从一定程度上缓解了当时的“软件危机软件危机”,它,它在处理较小规模的程序时比较有效。但是,随着人们在处理较小规模的程序时比较有效。但是,随着人们对大规模软件需求的增长,面向过程的结构化程序设对大规模软件需求的增长,面向过程的结构化程序
17、设计逐渐显示出它的不足,具体表现在:计逐渐显示出它的不足,具体表现在:1.1 面向过程程序设计面向过程程序设计第第1章章 面向对象程序设计概述面向对象程序设计概述面向过程的结构化程序设计的不足面向过程的结构化程序设计的不足:v1程序设计困难,生产率低下程序设计困难,生产率低下v2数据不安全数据不安全v3程序修改困难程序修改困难v4代码重用程度低代码重用程度低1.1 面向过程程序设计面向过程程序设计第第1章章 面向对象程序设计概述面向对象程序设计概述图1-1 面向过程程序设计的程序模型图1-2 面向对象程序设计的程序模型 第第1章章 面向对象程序设计概述面向对象程序设计概述要使某一个对象实现要使
18、某一个对象实现某一个行为,应当向某一个行为,应当向它传递相应的消息。它传递相应的消息。数据成员函数成员函数成员函数成员函数数据成员函数成员函数成员函数成员函数数据成员函数成员函数成员函数成员函数对象对象对象对象对象对象消息消息消息消息消息消息第第1章章 面向对象程序设计概述面向对象程序设计概述 在面向过程的结构化程序设计中,人们常使用这样的公式来表在面向过程的结构化程序设计中,人们常使用这样的公式来表述程序:述程序:程序程序=算法算法+数据结构数据结构 而面向对象程序设计则把算法和数据结构封装在对象中。在面而面向对象程序设计则把算法和数据结构封装在对象中。在面向对象程序设计,我们可以这样来表述
19、程序:向对象程序设计,我们可以这样来表述程序:程序程序=(对象(对象+对象对象+对象对象+)+消息消息 或或 程序程序=对象对象s+消息消息 对象对象=算法算法+数据结构数据结构图1-2 面向对象程序设计的程序模型 第第1章章 面向对象程序设计概述面向对象程序设计概述数据函数函数函数函数数据函数函数函数函数数据函数函数函数函数对象对象对象对象对象对象消息消息消息消息消息消息属性行为行为行为行为实体实体第第1章章 面向对象程序设计概述面向对象程序设计概述1.2.2 面向对象的基本概念面向对象的基本概念 1对象对象 可以可以从两个角度从两个角度来理解来理解对象对象。一个角度是现实世界,。一个角度是
20、现实世界,另一个角度是我们所建立的软件系统。另一个角度是我们所建立的软件系统。第第1章章 面向对象程序设计概述面向对象程序设计概述1.2.2 面向对象的基本概念面向对象的基本概念 1对象对象v现实世界中客观存在的任何一个事物都可以看成一个现实世界中客观存在的任何一个事物都可以看成一个对象对象(object)。或者说,现实世界是由千千万万个对。或者说,现实世界是由千千万万个对象组成的。象组成的。v对象可以是有形的对象可以是有形的,如汽车、房屋、张三等,如汽车、房屋、张三等,也可以也可以是无形的是无形的,如社会生活中的一种逻辑结构:学校、军,如社会生活中的一种逻辑结构:学校、军队,甚至一篇文章、一
21、个图形、一项计划等都可视作队,甚至一篇文章、一个图形、一项计划等都可视作对象。对象。第第1章章 面向对象程序设计概述面向对象程序设计概述1.2.2 面向对象的基本概念面向对象的基本概念 1对象对象v对象可大可小对象可大可小。例如学校是一个对象,一个班级也是。例如学校是一个对象,一个班级也是一个对象,一个学生也是一个对象。同样,军队中的一个对象,一个学生也是一个对象。同样,军队中的一个师,一个团,一个连,一个班都是对象。一个师,一个团,一个连,一个班都是对象。第第1章章 面向对象程序设计概述面向对象程序设计概述1.2.2 面向对象的基本概念面向对象的基本概念 1对象对象v任何一个对象都具有两个要
22、素:属性和行为任何一个对象都具有两个要素:属性和行为v属性:属性:用于描述客观事物的静态特征用于描述客观事物的静态特征v行为:行为:用于描述事物的动态特征。用于描述事物的动态特征。v例如,一个人是一个对象,他有姓名、性别、身高、例如,一个人是一个对象,他有姓名、性别、身高、体重等属性,有走路、讲话、打手势、学习和工作等体重等属性,有走路、讲话、打手势、学习和工作等行为。行为。第第1章章 面向对象程序设计概述面向对象程序设计概述1.2.2 面向对象的基本概念面向对象的基本概念 1对象对象v在一个系统中的多个对象之间通过一定的渠道相互联在一个系统中的多个对象之间通过一定的渠道相互联系,如图系,如图
23、1-2所示。所示。图1-2 面向对象程序设计的程序模型 第第1章章 面向对象程序设计概述面向对象程序设计概述要使某一个对象实现要使某一个对象实现某一个行为,应当向某一个行为,应当向它传递相应的消息。它传递相应的消息。数据成员函数成员函数成员函数成员函数数据成员函数成员函数成员函数成员函数数据成员函数成员函数成员函数成员函数对象对象对象对象对象对象消息消息消息消息消息消息第第1章章 面向对象程序设计概述面向对象程序设计概述1.2.2 面向对象的基本概念面向对象的基本概念 1对象对象v在面向对象的软件在面向对象的软件分析分析系统中,系统中,对象是用来描述客观对象是用来描述客观事物的一个相对独立体,
24、是构成系统的一个基本单位。事物的一个相对独立体,是构成系统的一个基本单位。v一个对象由一组属性一个对象由一组属性和对这组属性进行操纵的和对这组属性进行操纵的一组操一组操作作组成。组成。v属性属性是用来描述对象静态特征的一个数据项,是用来描述对象静态特征的一个数据项,操作操作是是用来描述对象行为的一个动作序列。用来描述对象行为的一个动作序列。第第1章章 面向对象程序设计概述面向对象程序设计概述1.2.2 面向对象的基本概念面向对象的基本概念 1对象对象v在开发软件系统时,首先要对现实世界中的对象进行在开发软件系统时,首先要对现实世界中的对象进行分析和归纳,以此为基础来定义软件系统中的对象。分析和
25、归纳,以此为基础来定义软件系统中的对象。v软件系统中的一部分对象是对现实世界中的对象的抽软件系统中的一部分对象是对现实世界中的对象的抽象,但其内容不是全盘照搬,这些对象只包含与所解象,但其内容不是全盘照搬,这些对象只包含与所解决的现实问题有关的那些内容;系统中的另一部分对决的现实问题有关的那些内容;系统中的另一部分对象是为了构建系统而设立的。象是为了构建系统而设立的。第第1章章 面向对象程序设计概述面向对象程序设计概述1.2.2 面向对象的基本概念面向对象的基本概念 2类类v类是对客观世界中具有相同属性和行为的一组对象的类是对客观世界中具有相同属性和行为的一组对象的抽象,它为属于该类的全部对象
展开阅读全文