《面向对象技术与程序设计》课程教学大纲.docx
面向对象技术与程序设计课程教学大纲 Object-Oriented Technology and Programming 一、课程性质和任务面向对象技术与程序设计是计算机科学与技术专业本科生的一门必修课 程。基于面向对象技术的软件开发方法是吸收了软件工程领域有益的概念和有效 的方法而开展起来的一种软件开发方法。它集抽象性、封装性、继承性和多态性 于一体,可以帮助人们开发出模块化、数据抽象程度高的,表达信息隐蔽、可复 用、易修改、易扩充等特性的程序。本课程是C程序设计的后续课程。本课程主要介绍面向对象技术的基本概念、面向对象程序设计的基本思想和 C+语言中的面向对象的特征。不但要使学生理解面向对象程序设计的基本概念, 而且要通过大量的程序设计实践练习,使学生逐步掌握C+面向对象程序设计的 基本方法和基本技能。二、课程教学内容和要求第1章C+概述基本要求:1 . 了解C+起源和特点;.理解函数原型、内置函数的作用;2 .掌握函数名重载、带缺省参数的函数、new和delete、引用、const 修饰符、新的I/O流、单行注释的使用方法。第2章类和对象基本要求:1 .熟练掌握C+中类的定义和实现方法、理解存取级别和C+中类的接 口与实现的概念、熟练掌握C+中对象的说明和使用。2 .理解构造函数、复制构造函数和析构函数的作用,掌握这些函数的 定义和使用方法。3 .理解常数据成员、常成员函数、常指针、常引用、常对象的作用。第3章面向对象技术概述基本要求:1 . 了解面向对象思想的历史和面向对象程序设计形成过程。2 .理解对象、类、消息等概念及其之间的关系。3 .理解面向对象程序设计的抽象性、封装性、继承性、多态性及其好 处。4 .理解面向对象程序设计语言的特性。5 . 了解面向对象的分析方法。6 . 了解面向对象的设计方法。第4章进一步学习类和对象基本要求:1 .熟练掌握对象数组、对象指针和this指针的使用方法。2 . 了解静态数据成员和静态成员函数的作用。3 . 了解友元函数和友元类的概念。4 .掌握在函数中传递对象的机制。第5章堆与复制构造函数基本要求:1 . 了解C+语言程序的内存分布,理解堆的概念。2 .理解需要new和delete的原因,掌握在堆上创立对象的方法;。3 .理解复制构造函数,掌握自定义复制构造函数的方法。4 . 了解复制构造函数的应用场合。第6章继承性:派生类基本要求:1 .理解派生类的概念和继承性的好处;理解基类(父类)、派生类(子 类)的概念;熟练掌握C+中派生子类的方法。2 .理解公有继承、私有继承、保护继承的概念及其区别。3 .理解单继承、多重继承的概念;了解多重继承中的二义性问题和虚 基类的作用。4 .掌握赋值兼容规那么的使用。第7章运算符重载基本要求:1 . 了解重载运算符的目的。2 .熟练掌握运算符重载的方法。3 .理解成员函数运算符和友元函数运算符之间的区别。4 . 了解构造函数用于类型转换的方法。第8章虚函数和多态性基本要求:1 .理解多态性的概念,掌握C+语言中实现多态性的几种方法。2 .理解虚函数,熟练掌握使用虚函数实现运行时多态性的方法。3 .理解纯虚函数和抽象类的概念。第9章模板基本要求:1 .掌握函数模板的创立和实例化方法。2 .理解类模板,熟练掌握实例化类模板的方法。第10章 类库和C+的标准模板库STL基本要求:1 .理解类库的概念;了解C+标准库的构成;了解类库的扩充方法。2 .熟练掌握C+标准模板库STL简单应用方法。3 .理解名字空间的概念。4 11章输入输出流基本要求:1 . 了解C+的I/。流,包括C+的预定义流。了解C+标准库中I/O流 库的类层次结构。2 .熟练掌握输入输出数据格式的控制方法。3 .掌握重载运算符”和的方法。4 .了解文件与文件流的关系。熟练掌握文件类对象的定义和相关操作、使用方法。第12章异常处理基本要求:1 .理解异常处理的概念,了解C语言的异常处理方法。2 .掌握C+语言的异常处理方法;了解C+标准库中的异常类。三、各教学环节的学时分配四、实验局部教学内容和要求:工程章节主要内容学时分配讲课习题课实验上机合计第1章C+概述426第2章类和对象4228第3章面向对象程序设计概述44第4章进一步学习类和对象4228第5章堆与复制构造函数22第6章继承性:派生类426第7章运算符重载224第8章虚函数和多态性2228第9章模板224第10章类库和C+的标准模板库STL224第n章输入输出流224第12章异常处理224综合练习用面向对象方法设计应用程序44合计34624641、实验工程及学时分配其中:演示性实验%,验证性实验%,设计性实验100%,综合性实验 %序 号实验工程名称实验内容及要求学时实验类型演示验证设计综合1面向对象软件开 发环境使用入门熟悉Visual C+程序设计环境,并 利用其编制简单的输入输出程序2V2简单的C+语言 程序设计C+在非面向对象方面的一些新特 征的使用练习:函数名重载,引用, const修饰付,内置函数,巾缺省参 数的函数,new和delete运算符等。2V3封装性:类与对象(1)练习简单类的定义,熟悉类的构造 函数、析构函数及其他成员函数、 成员变量和静态成员的设计方法。 掌握对象的建立与使用方法。2V4封装性:类与对象(2)练习有关组合类、对象数组、对象 指针、this指针、对象作为函数参 数、友元(friends )等的编程。2V5继承性:派生类练习C+语言中派生新类的方法, 理解C+语言实现继承的机制,体 会继承带来的好处。2V6多态性:运算符重载练习C+语言中重载运算符的方 法,体会运算符重载带来的方便。2V7多态性:虚函数练习使用C+语言中的虚函数实现 运行时多态性的方法;利用多态性 设计简单可靠、灵活、易维护程序。2V8异常处理练习C+语言中处理异常错误的方 法,体会这种方法的优越性。1V9模板练习C+中函数模板、类模板的创 建和使用方法。1V10C+标准库(1)练习C+标准库中标准容器:链表, 队列,向量等的简单应用,学会类 库的分析、使用方法。2V11C+标准库(2)练习比拟复杂的输入输出流和文件 的存取,熟悉C+的I/O流类库。2V12面向对象程序设 计综合练习完成一个大作业,用面向对象的思 想设计,并在Visual C+环境下实 现(利用Visual C+的MFC类库)。4V2、实验所需设备及材料序 号实验工程名称每 组 人 数每组需要的 主要仪器设备每组需要的 主要实验材料设备名称数 量材料名称数 量性质1面向对象软件开发 环境使用入门1PC机12简单的C +语言 程序设计1PC机13封装性:类与对象(1)1PC机14封装性:类与对象(2)1PC机15继承性:派生类1PC机16多态性:运算符重载1PC机17多态性:虚函数1PC机18异常处理1PC机19模板1PC机110C+标准库(1)1PC机111C+标准库(2)1PC机112面向对象程序设计 综合练习1PC机1五、本课程与其它课程的联系本课程的先修课程是C程序设计,在C程序设计这门课程中所学 的:算法、基本数据类型、复合数据类型、常量和变量、运算符、表达式、 指针和数组、结构和联合、复合语句、分支语句、迭代语句、函数和文件、 模块化程序设计等内容是本课程的基础。本课程的后续课程是数据结构, 在本课程中所学的:类和对象、抽象和分类、模板、类库和标准库等内容, 是数据结构课程的基础。六、建议教材及参考资料1C+面向对象程序设计,张德慧,周元哲,科学出版社,2005年2面向对象的方法学与C+语言,王斌君,陕西师大出版社,2000 年3C+面向对象程序设计教程,陈维兴,清华大学出版社,2000年 4C+程序设计教程,钱能,清华大学出版社,出版日期:2001年5 The C+ Programming Language, Bjarne Stroustrup, Pearson Education,高等教育出版社,2001年6 Thinking in C+, Bruce Eckel,7面向对象程序设计高级教程,陈奇,高等教育出版社,2001年