《《面向对象程序设计》课程教学大纲.docx》由会员分享,可在线阅读,更多相关《《面向对象程序设计》课程教学大纲.docx(6页珍藏版)》请在第一文库网上搜索。
1、面向对象程序设计课程教学大纲课程代码:ABJD0630课程中文名称:面向对象程序设计课程英文名称:Object-OrientedProgramming课程性质:选修课程学分数:2.5学分课程学时数:40学时(32理论课时+8实验学时)授课对象:电子信息工程专业本课程的前导课程:大学计算机基础、计算机程序设计一、课程简介面向对象程序设计是电子信息专业本科生的一门专业选修课,是在程序设计基础(C语言)后的一门重要的后续课程,它是为学生掌握当前最基本的面向对象程序设计方法而设置的。面向对象程序设计对降低软件的复杂性,改善其重用性和可维护性,提高软件的生产率,有着十分重要的意义。通过本课程的学习,除了
2、使学生掌握C+基本语法规则,能够使用C+进行程序设计以外,更重要的是使学生理解面向对象的三个核心概念(即数据封装、继承、多态),使学生理解面向对象程序设计思想,培养学生的面向对象软件分析和设计能力,为学生毕业后从事本专业范围内各项软件开发工作奠定坚实的实践基础。二、教学基本内容和要求(-)C+编程简介教学内容:C+的发展过程;结构化程序设计和面向对象程序设计的区别;简单介绍面向对象程序设计的三大特点:封装、继承和多态;结合集成开发工具Visua1C+6.0简要说明C+程序的基本开发流程;基本的1/。操作(Cin、COUt的基本使用方式)。课程的重点、难点:重点:C+流的概念和基本使用难点:无教
3、学要求:了解C+的基本概念;了解面向对象技术的三大特点;理解ViSUa1C+6.0开发工具开发C+程序的基本过程;掌握cin、CoUt的基本用法。(-)数据类型与表达式教学内容:复习在C语言中已经学习过的各种数据类型、运算符以及表达式;布尔类型的基本用法;C+的常变量,以及与C语言符号常量的异同。课程的重点、难点:重点:boo1类型、C+常量难点:无教学要求:掌握新类型的使用;理解C+常变量与C语言符号常量的异同。(三)控制结构教学内容:复习在C语言中学习过的相关知识,主要包括ife1se、switchcasexfor循环、whi1e循环等控制语句。课程的重点、难点:重点:C+语句与C的异同难
4、点:无教学要求:理解并掌握breakscontinueo(四)函数教学内容:复习在C语言中已经学习过的函数的定义方式、调用方式以及参数传递过程;内联函数的作用、与宏定义的区别、以及定义内联函数的方式;带默认形参值函数的定义和使用方式;函数重载的作用、如何进行函数重载、调用重载函数的方式;函数模板。课程的重点、难点:重点:函数重载的概念和方式难点:函数重载的概念和方式教学要求:掌握内联函数、带默认形参值函数、函数重载、函数模板。(五)构造数据类型教学内容:复习在C语言中已经学习过的知识,包括:枚举、结构和联合、数组的定义和使用方式、指针类型及使用方式;C+中使用new和de1ete运算符进行动态
5、内存分配与释放的方式;引用的基本概念,在函数调用时使用引用进行参数传递的方式。课程的重点、难点:重点:new和de1ete运算符的使用;引用类型;难点:引用的概念和使用教学要求:进一步理解指针;掌握new和de1ete的基本用法;理解引用类型的特点、掌握引用的用法。(六)C+程序的结构教学内容:复习在C语言中已经学习过知识,包括:变量的分类(全局变量和局部变量)、变量的存储类型、标识符的作用域和可见性、编译预处理方式。课程的重点、难点:无教学要求:理解预处理机制、能够识别变量的作用域。(七)类与对象教学内容:数据封装的基本概念(将一组数据以及操作这组数据的函数形成一个有机的整体);类的定义和使
6、用方式;类成员的访问控制方式;构造函数、拷贝构造函数及析构函数的作用、定义及使用方式;对象数组的定义及初始化方式;对象指针的定义及使用方式,this指针的作用及典型用法;静态成员的特点,作用及使用方式;友元机制的特点及基本使用方式。课程的重点、难点:重点:数据封装的概念;类的定义和使用;构造函数和析构函数难点:拷贝构造函数的概念和使用;静态成员的特点教学要求:掌握类的定义和类成员的访问控制;掌握构造函数、拷贝构造函数及析构函数;理解this指针;理解静态成员;友元机制。(A)继承与派生教学内容:派生类的概念和分类;单继承和多继承派生类的定义方式;派生方式下构造函数和析构函数的调用顺序;继承方式
7、下同名成员的访问方式;继承方式对基类成员的影响;类型兼容规则;派生方式下的二义性问题,以及用虚基类解决二义性问题。课程的重点、难点:重点:继承的概念;继承在C+中的实现方式;继承的意义难点:继承中父类与子类的关系;虚基类教学要求:掌握派生类的定义和使用方式;理解派生方式下的二义性问题;了解类型兼容规则。(九)多态性教学内容:运算符重载的概念及重载方式;典型的运算符重载实例;引入虚函数的意义、虚函数的定义和使用方式;纯虚函数及抽象类;课程的重点、难点:重点:运算符重载的概念和使用方式;虚函数的概念及使用;纯虚函数和抽象类的概念和使用难点:+和一运算符的重载;类型转换运算符;虚函数的概念;纯虚函数
8、和抽象类的概念教学要求:运算符重载;虚函数。(+)类模板教学内容:类模板的作用、定义和使用方式,类模板和模板类的关系。课程的重点、难点:无教学要求:类模板的定义和使用。(+-)命名空间和异常处理教学内容:命名空间的概念和作用、C+的异常机制。课程的重点、难点:重点:名字空间的概念和使用;异常机制的概念和相关语句难点:名字空间的概念和使用;异常机制的概念教学要求:理解命名空间和异常机制的作用。三、实验教学内容及基本要求本课程的实践环节共8个学时,主要围绕数据封装、继承和多态三个核心内容展开,具体情况如下:实验一1、实验名称:数据封装的实现2、实验要求:了解数据封装的作用和实现方式,使用C+语言的
9、抽象数据类型实现数据封装。3、实验仪器:每人一台安装有ViSUa1C+的普通学生电脑4、实验内容:(1)编写一个圆类,用来封装圆的所有特性和在其上的操作;(2)编写一个复数类,用来封装复数的所有特性和在其上的操作;(3)编写一个学生类,用来封装学生的所有特性和在其上的操作5、实验重点:使用C+语言的抽象数据类型实现数据封装6、实验课时:2学时7、应达到的要求:学会定义和实现类。实验二1、实验名称:继承的实现2、实验要求:了解继承的实现方式,使用C+语言的基类和派生类实现继承功能。3、实验仪器:每人一台安装有ViSUa1C+的普通学生电脑4、实验内容:(1)要求设计基本几何图形的继承层次结构,并
10、编程实现其中的主要类型,要求通过抽象方法、虚拟方法和重载方法来计算各种图形的面积和周长。(2)源代码,C+可视化程序设计5、实验重点:使用C+语言的基类和派生类实现继承功能。6、实验课时:2学时7、应达到的要求:学会设计类的继承关系,学会定义基类和派生类。实验三1、实验名称:多态的实现2、实验要求:深入理解多态的含义;掌握使用抽象类实现多态的方法;掌握使用接口实现多态的方法。3、实验仪器:每人一台安装有ViSUa1C+的普通学生电脑4、实验内容:使用抽象类实现多态;使用接口实现多态5、实验重点:使用抽象类实现多态的方法。6、实验课时:4学时7、应达到的要求:加深对多态的理解,理解接口的定义和实
11、现接口,学会内部类、匿名内部类对象的的编写和使用。四、教学方法与手段板书+ppt五、教学学时分配章节与内容课时作业量备注C+编程简介2数据类型与表达式2控制结构2函数2构造数据类型4C+程序的结构4类与对象4继承与派生4多态性4类模板2命名空间和异常处理2合计32六、考核方式与成绩评定标准平时成绩:20%,实验成绩:20%,期末考试:60%七、教学参考资源1、参考书目:国杨进才,沈显君,张勇C+语言程序设计教程(第二版).北京:清华大学出版社,2010.1,第2版2刘宗田,邢大红,孙慧杰等译C+编程思想.北京:机械工业出版社,2001.1.第1版网陈文宇,白忠建,戴波,面向对象程序设计语言C+,机械工业出版社,2008.3,第二版2、与课程相关主要网站无