- 1、本文档共94页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
上海交大面向对象程序设计C++课件1-5章.ppt
面向对象程序设计c++ 第一讲 教师信息 姓名:孟桂娥 E-mail:gemeng@ 办公地点:电信楼群1号楼401室 电话 课程安排 课程管理系统 /cms 课程管理系统上包括了本课程的相关内容:通知, 讲义,作业布置,答疑 平时作业占40%,期末考试 60% 提醒:自带尤盘,将程序copy 考试(60%) 题型1 :填空 填写程序缺少的内容 题型2:阅读程序写结果 题型3:编写程序 作业(40%)=上机实验+出勤率 本课程将布置六个上机试验作业,前四个作业每个5分,后两个作业每个10分 作业完成后打包上交课程管理系统 文件名:学号_作业序号 如:5060309000_1 上机安排以及参考书 上机地点:电信群楼4号楼311 上机辅导时间:待定 参考书:《C++程序设计教程》机械工业出版社,H.M.Deitel, P.J.Deitel著 注:课后请各小班班长留下姓名、联系方式、所在班号以及本班级没有课的时间。 内容 程序设计方法概述 面向对象的程序设计方法 C++与C概述 程序设计方法概述 早期的程序设计方法 结构化程序设计方法 面向对象程序设计方法 早期的程序设计方法 早期的程序设计方法追求程序的高效率,编程过份依赖技巧,而不注重所编写程序的结构,也就是没有固定程序设计方法的时期。程序的可读性、可重用性都很差。其中一个典型问题是频繁使用goto语句。 虽然这种方法存在很多问题,但对于单人完成较为简单的任务,事实上还是经常被采用的。 结构化程序设计方法 结构化程序设计方法 结构化程序设计方法从程序要实现的功能的角度出发,一般按照自顶向下、逐步求精的方式,将程序要完成的功能逐级划分成许多小的功能模块,象搭积木一样搭起来。这些小的功能模块最终都可以转化成三种基本控制结构的组合。 所谓的功能可以理解为对数据的操作。在程序实现中,特定的功能或功能模块一般用函数来实现,它们要对特定的数据进行操作。 该方法出现在上个世纪70年代。 结构化设计方法的特点 主要技术:自顶向下、逐步求精,采用单入口、单出口的控制结构。 自顶向下:是一种分解问题的技术,逐步求精指结构化程序的连续分解,最终成为下面三种基本控制结构的组合。 三种基本控制结构:顺序、分支、循环。 一个例子 例: 从键盘输入雇员信息(工号,姓名,年龄等),并把员工信息通过屏幕显示出来。 结构化 上面的例子中,我们可以进一步将雇员的属性放入一个结构中,可以在一定程度上完成对数据的封装。但在结构化程序设计中,数据与对其进行操作的函数仍是分离的。 问题 函数用于完成一定的功能,它们都是针对特定的数据进行操作的。那么我们能不能以特定的数据为中心,将数据与对其进行操作的函数封装起来呢? 面向对象的程序设计方法 面向对象的程序设计方法 面向对象程序设计是建立在结构化程序设计基础上的,但它不再是从功能入手,而是从对象(人、地方、事情等)入手; 面向对象程序设计以类作为构造程序的基本单位,它具有封装、数据抽象、继承、多态等特点; 面向对象程序设计出现在80年代中后期。 对象 简单地说,对象就是现实世界中的各种实体,包括人、地点和事物等。例如,学生、老师、教室、桌子、椅子等等。 一般都要从属性和行为两个方面来对它们加以描述。 属性和行为 对象具有的一些特征称为属性,以一个人为例,他的姓名、年龄、身高、体重等可以作为他的属性。这些属性会有其对应的值,一般至少会有一项区别于其它对象,它们在程序设计中对应的是一定的数据。 为了达到目的,对象必须提供的功能(或必须提供的服务)称为对象的行为,在程序设计中对应一定的方法(函数)。 类(class) 类描述了一组具有相同属性(数据元素)和相同行为(函数)的对象。 类的数据成员是对对象属性的抽象,类的函数成员是对对象行为的抽象,而类本身就是对对象的抽象。 抽象数据类型(Abstract Data Types ,ADT): 数据+操作 C++中类的声明——Emp类 C++中类变量的使用 Emp EmpA; // 声明Emp的对象EmpA EmpA.SetNumber(“12345”); //设置EmpA的工号 EmpA.SetName(“丁一”); // 设置EmpA的名字 EmpA.SetAge(30); // 设置EmpA的年龄 …… 结构化.VS.面向对象 结构化程序设计方法是一种模块化程序设计方法,它在解决问题时是以功能为中心的,一定的功能模块虽然也作用于特定的数据,但它们并没有被封装在一起。 面向对象程序设计方法则是以对象为中心来解决问题的。属于同种对象的属性(数据)和行为(功能)被抽象出来封装到一起。 面向对象方法的主要特点 数据抽
文档评论(0)