1、1面向对象程序设计教学大纲总学时:54(理论:44;上机:10) 学分:3.0 一、教学目的和要求面向对象程序设计作为硕士研究生的一门课程,其目标是为研究生的进一步研究和学习提供面向对象的方法基础和编程设计基础,使他们能够用面向对象的分析方法来分析和解决问题,同时借助相关的计算机语言实现相应的解决方案。本课程结合目前广泛使用的 C+语言来进行教学。通过学习本课程要求学生理解面向对象的基本思想、概念,掌握 C+语言的语法、结构;了解面向对象程序的框架;掌握上机操作和程序调试的基本方法,初步具备编制和调试面向对象程序的能力。本课程是实践性很强的课程,要求学生在课外完成较多的编程练习。二、先修课程高
2、级语言程序设计三、教学内容和学时分配(一)C+概述(4 学时)1、教学内容面向对象方法学的基本原则,面向对象的基本概念,C+的起源;C+ 的特点;C+ 程序的一般格式;C+程序的结构特点。2、教学要求掌握:面向对象的重要术语和基本概念,基本输入输出,C+中变量定义的方法,作用域限定符的用法,引用的语法形式,引用参数的用法,函数原型的写法、作用,缺省参数的形式,重载的概念。理解:对象、类、消息等基本概念,C、C+语言中变量的作用域、生存期的概念,函数参数的传址和传值方式及其区别,C+中函数原型和类型检查的规则,C+中函数的特性,引用返回值与左值概念,动态内存分配与指针。了解:封装、继承、多态等概
3、念,了解面向对象程序设计的基本思想及基本概念,C/C+程序设计的风格,了解 C+开发工具的主要功能和使用方法。(二)数据类型和表达式(4 学时)1、教学内容C+的数据类型、常量和变量、表达式与操作符,类型修饰符、引用、动态内存分配及编译指令。2、教学要求掌握:常量和变量,整型、实型和字符型数据类型,变量赋初值,各类数值型数据间的混合运算,C 的运算符及其表达式,C 程序上机操作步骤及使用过程。理解:语言的数据类型。 (三)预处理和语句(4 学时)1、教学内容2文件包含处理,程序的三种基本结构,赋值语句、数据输出,数据输入,关系运算及其表达式,逻辑运算及其表达式,条件语句,goto、while、
4、 do-while、for 四种循环语句,循环的嵌套,break 和 continue 语句。2、教学要求掌握:赋值语句、数据输出,数据输入,关系运算及其表达式,逻辑运算及其表达式,条件语句,goto、while、 do-while、for 四种循环语句,循环的嵌套,break 和 continue 语句。理解:文件包含处理,(四)函数和作用域(6 学时)1、教学内容函数定义的一般形式,函数参数和函数的值中实参与形参的对应关系,“值传递“方式,函数的调用,函数的嵌套调用,函数的递归调用,数组作为函数参数,局部变量和全局变量,动态存储变量和静态存储变量,内部函数和外部函数。2、教学要求掌握:函数
5、的调用,局部变量和全局变量,函数定义的一般形式函数参数和函数的值中实参与形参的对应关系,“值传递“方式,函数的嵌套调用,数组作为函数参数,内部函数和外部函数。了解: 函数的作用,模块化程序设计的概念,函数与模块化程序设计的关系。(五)类和对象(12 学时)1、教学内容类和对象的定义;对象的初始化;成员函数;静态成员;友元;对象指针和对象引用;对象数组;const 类型;子对象和堆对象;类型转换;类模板。2、教学要求掌握:类定义的方法和存取级别;类的成员变量和成员函数的定义和使用,以及对象的定义;构造函数和析构函数;静态类成员变量和成员函数的定义和使用方法;对象指针和对象引用的定义和使用方法;对
6、象数组的定义和使用方法;const 类型的定义和使用方法;子对象和堆对象的定义和使用方法;内联成员函数的定义和使用方法;模板函数的用法;类模板的定义方法。理解:构造函数和析构函数的调用及其次序;拷贝构造函数的调用;在函数中对象传递的机制;类型转换规则;多参数的模板设计。了解:结构作为类的定义的方法与 class 的区别;友元函数和友元类;嵌套类与局部类的定义。(六)继承和派生(6 学时)1、教学内容继承和派生的概念;访问控制;派生类的构造函数和析构函数;赋值兼容规则;多继承;二义性问题;虚基类。2、教学要求掌握:单继承的定义;向基类构造函数传递参数的方法。理解:不同派生方式下成员存取控制的变化
7、;多继承的定义;赋值兼容规则。3了解:类层次的概念;将概念和实现转变为类的层次的方法;虚基类和二义性问题。(七) 多态性和虚函数(6 学时)1、教学内容多态性概述;函数重载;运算符重载;虚函数;抽象类。2、教学要求掌握:成员函数重载;运算符重载的概念;friend 重载运算符的使用方法;虚函数的用法;。理解:成员形式和友元形式下一元和二元运算符重载的差别;虚函数和纯虚函数的概念;虚析构函数的意义。了解:定义重载某些特殊的运算符的方法;抽象类的概念;静态和动态联编的概念。(八) C+输入输出(6 学时)1、教学内容C+输入输出概述;屏幕输出;键盘输入;格式化的输入输出;磁盘文件的输入输出。2、教学要求掌握:cin 和 cout 标准输入输出流的作用;文件流的定义格式;字符文件和字节文件的读写数据的访问操作。理解:文件与文件流的关系;文件系统的概念。了解:C+流的概念;字符串流的定义与使用。四、考核方式:考查五、教材及参考书1 吕凤翥, C+ 语言基础教程清华大学出版社,2001 年 4 月2 (美) Harvey M. Deitel 等编著,邱仲潘等译,C+大学教程(第 2 版) ,机械工业出版社,2001 年 7 月3 (美)Harvey M.Deitel 等编著 ,赵钧等译,C+大学教程实验指导书,电子工业出版社,2003年 1 月