《面向对象程序设计》课程教学大纲Word下载.docx
《《面向对象程序设计》课程教学大纲Word下载.docx》由会员分享,可在线阅读,更多相关《《面向对象程序设计》课程教学大纲Word下载.docx(19页珍藏版)》请在冰点文库上搜索。
二、教学内容与课时分配
第一章绪论(2学时)
教学内容:
1、面向对象程序设计的基本思想及基本概念;
2、面向对象语言的分类和C++中支持面向对象的特点;
3、面向对象的软件开发环境;
4、C++开发工具的主要功能和使用方法;
重点:
难点:
1、面向对象语言的分类和C++中支持面向对象的特点;
建议教学方法:
课堂讲授
思考题:
1、面向对象程序设计的基本思想是什么?
2、C++语言支持哪些面向对象特点?
第二章面向对象程序设计方法导论(2学时)
1、类、对象、实例的概念;
2、封装、继承、多态等概念;
3、面向对象模型的基本情况;
4、面向对象软件分析、设计、实现的基本方向;
5、程序设计风格并在实验中运用;
1、封装、继承、多态等概念;
1、什么是封装?
什么是继承?
什么是多态性?
第三章C++对C语言的常规性能扩充(4学时)
1、用cin,cout,cerr,<
<
,>
>
进行基本输入输出;
2、C++中变量定义的方法及其与C语言中的区别;
3、作用域限定符的用法;
4、C、C++语言中变量的作用域、生存期的概念;
5、枚举类型的用法;
6、枚举变量的存储及其输入输出;
7、C++中struct与C语言中的不同;
8、const的用处和用法;
9、函数形式的类型转换与C语言中类型转换的不同;
10、引用的语法形式;
11、引用参数的用法;
12、函数参数的传址和传值方式及其区别;
13、引用返回值与左值概念;
14、函数原型的写法、作用;
15、new和delete的用处和写法;
16、动态内存分配与指针;
2、作用域限定符的用法;
3、函数定义;
4、new和delete的用处和写法;
5、动态内存分配与指针;
1、函数定义;
2、new和delete的用处和写法;
3、动态内存分配与指针;
1、new和delete使用时应注意哪些原则?
2、什么是动态分配内存?
在C++中如何实现?
第四章类和对象(8学时)
1、类定义的方法和存取级别;
2、结构作为类的定义的方法与class的区别;
3、类的成员变量和成员函数的定义和使用,以及对象的定义;
4、友元函数和友元类;
5、构造函数和析构函数;
6、构造函数和析构函数的调用及其次序;
7、拷贝构造函数的调用;
8、静态类成员变量和成员函数的定义和使用方法;
9、内联成员函数的定义和使用方法;
10、嵌套类与局部类的定义;
11、在函数中对象传递的机制;
1、类定义的方法和存取级别作用域限定符的用法;
2、构造函数和析构函数;
3、构造函数和析构函数的调用及其次序;
4、嵌套类与局部类的定义;
5、在函数中对象传递的机制;
1、构造函数和析构函数的调用及其次序;
2、拷贝构造函数的调用;
1、构造函数和析构函数的作用是什么?
2、类成员有哪些存取级别?
特点如何?
3、构造函数和析构函数的调用次序是怎样的规则?
第五章多态性和重载(6学时)
1、成员函数重载;
2、运算符重载的概念;
3、使用friend重载运算符的方法;
4、成员形式和友元形式下一元和二元运算符重载的差别;
5、数组重载运算符new和delete的定义;
6、定义重载某些特殊的运算符的方法,包括重载[]、重载()、重载->
等;
3、定义重载某些特殊的运算符的方法,包括重载[]、重载()、重载->
2、运算符重载;
1、什么是重载?
2、函数重载有哪些原则?
3、如何实现数组重载运算符new和delete?
第六章继承性与派生类(6学时)
1、类层次的概念及如何将概念和实现转变为类的层次的方法;
2、单继承的定义;
3、不同派生方式下成员存取控制的变化;
4、向基类构造函数传递参数的方法;
5、多继承的定义;
6、虚基类和二义性问题;
1、不同派生方式下成员存取控制的变化;
2、向基类构造函数传递参数的方法;
1、C++中继承的语法是怎样规定的?
2、不同派生方式下成员存取控制有何变化?
3、如何向基类构造函数传递参数?
第七章运行时的多态性和虚函数(6学时)
1、虚函数和纯虚函数的概念;
2、虚函数的用法;
3、虚析构函数的意义;
4、抽象类的概念;
5、早期和后期联编的概念;
3、抽象类的概念;
4、早期和后期联编的概念;
1、虚函数的用法;
2、抽象类的概念;
3、早期和后期联编的概念;
1、什么是虚函数?
如何定义虚函数?
2、什么是抽象类?
3、在什么场合中使用抽象类?
4、什么是早期联编?
什么是后期联编?
第八章泛型程序设计和模板(6学时)
1、泛型程序设计的意义;
2、模板函数的用法;
3、类模板的定义方法;
4、多参数的模板设计;
1、模板函数的用法;
2、类模板的定义方法;
1、什么是模板?
2、如何定义函数模板?
3、如何定义类模板?
第九章C++的I/O系统(8学时)
教学内容:
1、C++的流,包括C++的预定义流;
2、格式化I/O的定义格式和定义方法;
3、创建重载运算符<
和>
的方法;
4、创建无参数操纵符和带参数操纵符的方法;
5、一般I/O流和文件流的关系;
6、文件与文件流的关系;
7、文件系统的概念,包括文件指针和关于文件的操作;
8、文件类的定义和相关操作的定义、使用方法;
9、利用常用函数进行文件的打开、关闭、读写、定位等操作;
1、C++的流;
4、文件与文件流的关系;
5、文件系统的概念;
6、文件类的定义和相关操作的定义、使用方法;
1、创建重载运算符<
2、文件系统的概念;
3、文件类的定义和相关操作的定义、使用方法;
1、什么是流?
2、重载运算符<
应该注意哪些原则?
3、对文件的读写有哪些方式?
4、如何控制二进制文件?
第十章面向对象的软件构造及程序设计风范(4学时)
教学内容
1、软件质量
2、程序断言机制
3、异常处理机制
4、面向对象的软件构造
1、异常处理机制;
2、面向对象的软件构造;
1、什么是异常?
2、C++中如何处理异常?
3、面向对象的软件构造有哪些原则?
三、考核方式和要求
考核方式:
闭卷
考核要求:
考核内容应包括基本概念题、程序代码分析题(形式为程序填空和程序阅读等)和程序设计题等。
成绩核算:
平时作业占总成绩的15%,实验成绩占总成绩的15%,理论考试根据教学大纲命题,占总成绩的70%。
第二部分:
实验教学部分
1、本门课程实验的性质任务、目的与要求
本课程是一门理论联系实际,实践性较强的课程,上机时数较多(开设验证性实验2~3个,综合、设计性实验4~5个)。
学生通过本课程的实验锻炼,应达到具有基本C++程序设计能力和基本调试能力,并具有编写面相对象程序设计的方法、思路和设计调试能力。
2、本门课程实验项目设置情况
序号
实验名称
学时
必开
选开
实验类型
验
证
基本
操作
综
合
设
计
应
用
创
新
内容提要
1
VisualC++的开发环境认识
2
必
√
用VisualC++的程序向导建立一个简单的Windows程序并调试通过。
C++中的对C语言的常规扩充
(1)
编写一个完整的C++程序,并调试通过。
3
C++中的对C语言的常规扩充
(2)
将原来C语言编写的程序改写成一个C++程序,并调试通过。
类与对象
设计一个类并写一测试程序建立该类的对象并调试。
5
多态性和重载
为自定义的类编写恰当的运算符重载并测试通过。
6
继承性与派生类
将自定义的类进行派生,研究其各种函数的调用。
7
运行时的多态性和虚函数
在自定义的类中增加虚函数测试其运行情况。
8
泛型程序设计和模板
编写一个函数模板和类模板并调试通过。
9
C++的I/O系统
在自定义的类中增加流输入输出功能并编写一程序测试该类对文件流的操作。
10
C++的发展和应用
利用STL类库编写一个简单的程序调试通过。
二、各实验项目教学要求
实验一VisualC++的开发环境的认识
(一)实验目的:
熟悉VisualC++的开发环境。
(二)实验内容:
利用VisualC++的程序向导建立一个简单的基于MFC类库的Windows程序并调试通过。
(三)主要仪器设备及其配套数:
计算机每人一套
(四)所在实验室:
计算机实验室
实验二C++中的对C语言的常规扩充
(1)
掌握C++语言中扩充部分。
实验三C++中的对C语言的常规扩充
(2)
实验四类与对象
掌握类的定义。
定义一个类并写一测试程序建立该类的对象并调试。
实验五多态性和重载
掌握成员函数和运算符的重载。
实验六继承性与派生类
掌握继承性与派生类
实验七运行时的多态性和虚函数
掌握运行时的多态性和虚函数的概念。
实验八泛型程序设计和模板
掌握泛型程序设计和模板。
实验九C++的I/O系统
掌握C++的I/O系统。
在自定义的类中增加流输入输出功能并编写一程序测试该类对件流的操作。
实验十C++的发展和应用
了解C++的发展和应用。
利用STL类库编写一个简单的程序调试通过。
三、考核方式和成绩评定要求
本课程实验的考核方式以每次上机实验的完成情况、实验报告的质量为主结合平日成绩进行综合评定
第三部分:
建议使用的教材和参考书目
[1]面向对象程序设计基础,李师贤等编著,高等教育出版社,1998.
[2]面向对象程序设计,刘正林主编,华中科技大学出版社,2001.
[3]C++大学教程,HarveyM.Detitel,PaulJmesDeitel著,邱仲潘等译,电子工业出版社,2002.