欢迎来到天天文库
浏览记录
ID:38341202
大小:942.81 KB
页数:39页
时间:2019-06-10
《面向对象的程序设计及C概述》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、面向对象程序设计及C++主讲:曹晓梅第1章面向对象程序设计及C++概述面向对象程序设计及C++3本章作业P23书上:一、二作业本:三(1、2)C++融合了三种不同的编程思想4面向过程编程面向对象编程通用模板编程面向对象编程5授课线索及内容为什么引入面向对象程序设计方法?——从面向过程程序设计方法及其弊端谈起面向对象程序设计方法及其核心思想C语言和C++语言的关系C++程序的开发和VC++的使用本章核心问题面向对象程序设计方法的由来和核心思想61.面向过程程序设计思想1.1核心思想1.2实例说明1.3优缺点71.1核心思想核心思
2、想:程序=数据结构+算法对数据进行处理的过程待处理的数据学生档案输入计算输出…学生成绩管理系统排序数据过程1过程2过程n…例如:一个简单的学生成绩管理系统用来管理若干个学生的信息。每个学生的信息包括学号、姓名、某门课的平时成绩、期末成绩、总评成绩和名次,总评成绩=平时成绩0.4+期末成绩0.6。主要操作:成绩的录入、计算、排名、输出。面向过程程序设计思想81.2实例说明typedefstructstudentScore{charnumber[10];//学号charname[10];//姓名intdailyScore;//平时
3、成绩intfinalScore;//期末成绩floatgeneralScore;//总评成绩intrate;//名次}SS;数据voidreadData(SSstu[],intn);//输入n个学生的学号、姓名、平时及期末成绩voidcalcuScore(SSstu[],intn);//计算n个学生的总评成绩voidsortScore(SSstu[],intn);//根据总评成绩排名,得出每个学生的place值voidprintOut(SSstu[],intn);//按一定的格式输出n个学生的完整信息过程面向过程程序设计思想9
4、数据需求的改变在C语言课程中,需要增加实验成绩这一项,学生的总评成绩计算方法修改为:总评成绩=平时成绩0.2+实验成绩0.2+期末成绩0.6。显然,类型SS中需要增加一个数据项intexperiScore;表示实验成绩。同时,所有的函数代码都应该作相应地修改1.2实例说明面向过程程序设计思想101.3面向过程程序设计的优缺点采用自顶向下、逐步求精的方法:直观有条理结构清晰模块化强数据和过程的分离:数据的安全性问题代码的可维护性问题代码的可重用性问题面向对象程序设计应运而生面向过程程序设计思想112.面向对象程序设计思想2.1客
5、观原型2.2核心思想2.3实例说明2.4两个概念和三个特性122.1客观原型客观世界中的对象是现实世界中一个实际存在的事物有形(一台洗衣机)、无形(一项计划)是构成世界的一个独立单位,具有:有一个特定的名字以区别其他对象有一组属性,用来描述对象的静态特征有一组行为,用来描述对象的动态特征类和对象类是同类对象的抽象对象是类的实例抽象与具体的关系面向对象程序设计思想132.2核心思想核心思想:以数据为核心,将数据以及对这些数据的操作封装为一个整体。I.声明抽象的类,以类封装两类成员成员函数:数据成员:一类对象的静态特性一类对象的动
6、态特性类II.定义类的实例——对象,以对象作为程序的基本元素,通过向对象发送消息,进而由对象启动相关的成员函数完成各种功能程序=对象+消息面向对象程序设计思想142.3实例说明例如:人类静态特性:动态特性:姓名性别年龄身高体重身份吃穿住行学习工作Person类数据成员成员函数charname[20]charsex[8]intagedoubleheightdoubleweightcharcareer[20]voideat();voiddress();voidreside();voidwalk();voidstudy();void
7、work();对象名:p1张虹女251.7055.0教师类和对象是抽象和具体的关系面向对象程序设计思想15前面成绩管理的例子,将结构体改造成一个类SS,其定义如下:classSS{private:charnumber[10];charname[10];intdailyScore;intfinalScore;floatgeneralScore;intrate;public://接口对外公开voidreadData();voidcalcuScore();voidprintOut();friendvoidsortScore(SSst
8、u[],intn);};2.3实例说明面向对象程序设计思想16此时的主函数代码为:voidmain(){SSstu[30];//定义30个学生类的对象inti,n=5;//对前5个学生执行下列操作for(i=0;i
此文档下载收益归作者所有