第2章_面向对象程序设计概述详解.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
如果计算机是乐队,那么程序员就是指挥家,程序就是乐谱。 如果计算机是军队,那么程序员就是总司令,程序就是作战计划。 程序设计语言是人与计算机进行交流的语言,有很多种,分别适合做不同的事情。现在还只能人主动学计算机的语言,做不到计算机学会人的语言。当计算机懂了人语,就几乎不再需要编程,想让计算机干什么,尽管对着它说好了,那时程序员可能也就失业了。 * * 第2章面向对象程序设计概述 本章内容安排 2.1 面向过程与面向对象 2.2 面向对象的基本概念及特征 2.3 本章小结 2.1.1 面向过程的程序设计 核心思想:功能分解 实现方法:自顶向下、逐步求精 优点:直观有条理、结构清晰、模块化强。 缺点: 代码的可重用性差、模块之间依赖性强、不利于代码的维护和扩充。 数据结构对整个程序公开,数据安全性差 2.1.1 面向过程的程序设计 数据与对数据处理的过程相分离,其弊端表现在:一旦数据结构改变,与之相关的所有操作都必须改动 ,代码修改量大 例如:一个简单的学生成绩管理系统用来管理若干个学生的信息。 每个学生的信息包括学号、姓名、某门课的平时成绩、期末成绩、总评成绩和名次, 总评成绩=平时成绩*0.3+期末成绩*0.7。 主要操作:成绩的录入、计算、排名、输出。 数据结构——定义一个结构体 typedef struct studentScore { char number[10]; //学号 char name[10]; //姓名 int dailyScore ; //平时成绩 int finalScore; //期末成绩 float generalScore; //总评成绩 int place; //名次 } SS; //结构体变量名 C 2.1.1 面向过程的程序设计 int experiScore; //后增项实验成绩 2.1.1 面向过程的程序设计 操作数据的几个函数: void readData(SS stu[ ],int n);  //输入n个学生的学号、姓名、平时及期末成绩 void calcuScore(SS stu[ ],int n); //计算n个学生的总评成绩 void sortScore(SS stu[ ],int n); //根据总评成绩排名,得出每个学生的place值 void printOut(SS stu[ ],int n); //按一定的格式输出n个学生的完整信息 现在,需求改变了: 在C语言课程中,需要增加实验成绩这一项,学生的总评成绩计算方法修改为: 总评成绩=平时成绩*0.2+实验成绩*0.2+期末成绩*0.6。 显然,类型SS中需要增加一个数据项 int experiScore; 表示实验成绩。G 同时,所有的函数代码都应该作相应地修改 2.1.1 面向过程的程序设计 面向过程的程序设计的范型是: 程序=算法+数据结构 数据与对数据操作的分离导致软件维护(包括软件的测试、调试和升级)的困难。 一种新型的程序设计方法——面向对象的程序设计方法应运而生,它很好地解决了以上问题。 2.1.1 面向过程的程序设计 核心思想:以数据为核心,将数据以及对这些数据的操作封装为一个整体 实现方法:以类封装,以类的对象作为程序的基本元素,通过向对象发送消息,进而由对象启动相关的方法完成各种功能 优点:数据安全、软件可靠、代码可重性可维护性强 缺点:代码的效率有时会低 2.1.2 面向对象的程序设计 类与对象是抽象与具体的关系 类包含: 对象必然属于某一个类,且各有一个名字(对象名),有不同的数据成员值,可以进行相同的行为。 类与对象的关系: 相当于类型和变量的关系 2.1.2 面向对象的程序设计 成员函数: 数据成员: ----类对象的静态特性 ----类对象的动态特性 例如: 人类 2.1.2 面向对象的程序设计 静态特性: 动态特性: 姓名 性别 年龄 身高 体重 身份 吃 穿 住 行 学习 工作 Person类 数据成员 成员函数 char name[20] char sex[8] int age double height double weight char identity void eat(); void dress(); void reside(); void walk(); void study(); void work();

文档评论(0)

三四五 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档