资源预览内容
第1页 / 共104页
第2页 / 共104页
第3页 / 共104页
第4页 / 共104页
第5页 / 共104页
第6页 / 共104页
第7页 / 共104页
第8页 / 共104页
第9页 / 共104页
第10页 / 共104页
亲,该文档总共104页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
教教 案案分 院 (部) 信息学院 教 研 室 计算机科学与技术课 程 名 称 面向对象程序设计教 师 姓 名 金淑娟 职 称 讲 师 使 用 教 材 C+语言程序设计 教案第 1 页 .教 务 处 制授课内容:第一章 面向对象程序设计概念授课时数 6 教学目的及要求:了解:程序设计方法的发展过程,面向对象语言的特点。掌握:面向对象的概念,面向对象的程序开发过程。教学基本内容:程序设计方法的发展过程;面向对象程序设计的基本思想及概念,面向对象程序设计的要点及开发过程。重点及难点:面向对象的概念,面向对象的程序开发过程。教学方法:讲授法 讨论法 自学指导法 其他 教学手段:多媒体 实物 模型 挂图 音像 其他板书设计:讨论、思考题、作业:1 叙述面向对象基本思想的特点。2 叙述面向对象的程序设计方法与传统面向过程的程序设计方法有何不同。3 什么是类,什么是对象,类和对象是怎样的关系?4 抽象包括哪两方面的含义?5 什么是封装,它具有怎样的特点?6 什么是多态?多态的实现方式及作用有哪些?7 什么叫对象的封装性?什么叫信息隐藏?C+语言是怎样实现信息隐藏的?8 什么叫继承?什么叫派生?9 什么叫多态性?多态性主要有哪几种?10. 什么叫运行时的多态性?C+语言中是怎样实现运行时的多态性的?教案第 2 页 .参考资料(含参考书目、文献等):1、Harvey M.Deitel 及 Paul James Deitel 著,C+大学教程(第三版) ,电子工业出版社。2、刘正林,面向对象程序设计,华中科技大学出版社。3、周生炳等,面向对象程序设计,清华大学出版社。4、揣锦华,面向对象程序设计与 VC+实践,西安电子科技大学出版社。5、王育坚编,面向对象编程教程, 清华大学出版社。6、王萍编著,C+面向对象程序设计, 清华大学出版社出版。7、徐孝凯等编,面向对象程序设计实验, 中央广播电视大学出版社出版。第一节第一节 面向对象的方法面向对象的方法一、面向对象的语言一、面向对象的语言出发点:更直接地描述客观世界中存在的事物(对象)以及它们之间的关系。特点:是高级语言。将客观事物看作具有属性和行为的对象。通过抽象找出同一类对象的共同属性和行为,形成类。通过类的继承与多态实现代码重用。优点:使程序能够比较直接地反问题域的本来面目,软件开发人员能够利用人类认识事物所采用的一般思维方法来进行软件开发。二、程序设计方法的发展历程二、程序设计方法的发展历程1面向过程的程序设计方法程序的目的:用于数学计算。主要工作:设计求解问题的过程。缺点:对于庞大、复杂的程序难以开发和维护。2面向过程的结构化程序设计方法教案第 3 页 .设计思路:自顶向下、逐步求精。采用模块分解与功能抽象,自顶向下、分而治之。程序结构:按功能划分为若干个基本模块,形成一个树状结构。各模块间的关系尽可能简单,功能上相对独立;每一模块内部均是由顺序、选择和循环三种基本结构组成。其模块化实现的具体方法是使用子程序。优点:有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。缺点:可重用性差、数据安全性差、难以开发大型软件和图形界面的应用软件。具体有以下几点:把数据和处理数据的过程分离为相互独立的实体。当数据结构改变时,所有相关的处理过程都要进行相应的修改。每一种相对于老问题的新方法都要带来额外的开销,程序的可重用性差。图形用户界面的应用程序,很难用过程来描述和实现,开发和维护也都很困难。3面向对象的方法方法: 将数据及对数据的操作方法封装在一起,作为一个相互依存、不可分离的整体对象。 对同类型对象抽象出其共性,形成类。 类通过一个简单的外部接口,与外界发生关系。 对象与对象之间通过消息进行通讯。优点: 程序模块间的关系更为简单,程序模块的独立性、数据的安全性就有了良好的保障。 通过继承与多态性,可以大大提高程序的可重用性,使得软件的开发和维护都更为方便。教案第 4 页 .三、面向对象的基本概念三、面向对象的基本概念1一般意义上的对象:是现实世界中一个实际存在的事物。可以是有形的(比如一辆汽车) ,也可以是无形的(比如一项计划) 。是构成世界的一个独立单位,具有:静态特征-可以用某种数据来描述动态特征-对象所表现的行为或具有的功能2面向对象方法中的对象:是系统中用来描述客观事物的一个实体,它是用来构成系统的一个基本单位。对象由一组属性和一组行为构成。属性-用来描述对象静态特征的数据项。行为-用来描述对象动态特征的操作序列。3分类所依据的原则抽象忽略事物的非本质特征,只注意那些与当前目标有关的本质特征,从而找出事物的共性,把具有共同性质的事物划分为一类,得出一个抽象的概念。例如,石头、树木、汽车、分类人类通常的思维方法。房屋等都是人们在长期的生产和生活实践中抽象出的概念。4面向对象方法中的“类“具有相同属性和服务的一组对象的集合。为属于该类的全部对象提供了抽象的描述,包括属性和行为两个主要部分。类与对象的关系:犹如模具与铸件之间的关系,一个属于某类的对象称为该类的一个实例。5面向对象方法中的“封装“ 把对象的属性和服务结合成一个独立的系统单元。 尽可能隐蔽对象的内部细节。对外形成一个边界(或者说一道屏障) ,只保留有限的对外接口使之与外部发生联系。6面向对象方法中的“继承“教案第 5 页 . 继承对于软件复用有着重要意义,是面向对象技术能够提高软件开发效率的重要原因之一。 定义:特殊类的对象拥有其一般类的全部属性与服务,称作特殊类对一般类的继承。例如:将轮船作为一个一般类,客轮便是一个特殊类。7面向对象方法中的“多态性“ 多态是指在一般类中定义的属性或行为,被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。这使得同一个属性或行为在一般类及其各个特殊类中具有不同的语义。例如:数的加法-实数的加法-复数的加法第二节第二节 面向对象的软件开发面向对象的软件开发面向对象的软件工程(软件开发)是面向对象方法在软件工程领域的全面应用。它包括:面向对象的分析(OOA)面向对象的设计(OOD)面向对象的编程(OOP)面向对象的测试(OOT)面向对象的软件维护(OOSM)一、系统分析一、系统分析系统分析阶段应该扼要精确地抽象出系统必须做什么,但是不关心如何去实现。面向对象的系统分析,直接用问题域中客观存在的事物建立模型中的对象,对单个事物及事物之间的关系,都保留他们的原貌,不做转换,也不打破原有界限而重新组合,因此能够很好地映射客观事物。二、设计二、设计教案第 6 页 .针对系统的一个具体实现运用面向对象的方法。其中包括两方面的工作:把 OOA 模型直接搬到 OOD,作为 OOD 的一部分。针对具体实现中的人机界面、数据存储、任务管理等因素补充一些与实现有关的部分。三、编程三、编程OOP 工作就是用一种面向对象的编程语言把 OOD 模型中的每个成分书写出来,是面向对象的软件开发最终落实的重要阶段。四、测试四、测试 测试的任务是发现软件中的错误。 在面向对象的软件测试中继续运用面向对象的概念与原则来组织测试,以对象的类作为基本测试单位,可以更准确的发现程序错误并提高测试效率。五、维护五、维护将软件交付使用后,工作并没有完结,还要根据软件的运行情况和用户需求,不断改进系统。使用面向对象的方法开发的软件,其程序与问题域是一致的,因此,在维护阶段运用面向对象的方法可以大大提高软件维护的效率。授课内容:第二章 类与对象授课时数 18教学目的及要求:掌握:类定义的方法和存取级别。掌握:类的成员变量和成员函数的定义和使用,以及对象的定义。了解:友元函数和友元类。掌握:构造函数和析构函数。掌握:静态类成员变量和成员函数的定义和使用方法。教案第 7 页 .掌握:内联函数的定义和使用方法。掌握:对象指针及对象引用的使用。了解:容器类的定义。掌握:在函数中对象传递的机制。教学基本内容: 类的声明,对象的定义,构造函数、析构函数,对象指针,对象引用,静态成员,友元,标识符的作用域,对象数组,成员对象,对象的存储类等。重点与难点: 类及类对象的定义,构造函数、析构函数的定义,对象指针及对象引用的使用,容器类的定义。教学方法:讲授法 讨论法 自学指导法 其他 教学手段:多媒体 实物 模型 挂图 音像 其他板书设计:讨论、思考题:1. 什么是类,什么是对象,类和对象是怎样的关系?2叙述静态成员和一般成员的区别。3什么叫友元? 什么叫友元类?什么叫友元函数?什么叫友元成员函数? 4叙述友元与类的封装性之间的关系。5友元方法有什么优点?有什么缺点?作业:见书中第四章练习参考资料(含参考书目、文献等):1、Harvey M.Deitel 及 Paul James Deitel 著,C+大学教程(第三版) ,电子工业出版社。2、刘正林,面向对象程序设计,华中科技大学出版社。3、周生炳等,面向对象程序设计,清华大学出版社。4、揣锦华,面向对象程序设计与 VC+实践,西安电子科技大学出版社。5、王育坚编,面向对象编程教程, 清华大学出版社。6、王萍编著,C+面向对象程序设计, 清华大学出版社出版。7、徐孝凯等编,面向对象程序设计实验, 中央广播电视大学出版社出版。教案第 8 页 .第一节第一节 C+的面向对象的概念的面向对象的概念一、抽象的概念一、抽象的概念抽象是对具体对象(问题)进行概括,抽出这一类对象的公共性质并加以描述的过程。 先注意问题的本质及描述,其次是实现过程或细节。 数据抽象:描述某类对象的属性或状态(对象相互区别的物理量) 。 代码抽象:描述某类对象的共有的行为特征或具有的功能。 抽象的实现:通过类的声明。二、抽象实例二、抽象实例1日期抽象实例数据抽象:int Year, int Month, int Day 代码抽象:SetDate(), /设置年、月、日IsLeapYear(),/计算某年是否为闰年ShowDate(),/显示年、月、日的值抽象实例日期类class Datepublic: void SetDate(int y, int m, int d);int IsLeapDate();void ShowDate();private: int Year,Month,Day;教案第 9 页 .2钟表抽象实例-钟表数据抽
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号