当前位置:文档之家› 《面向对象程序设计》教学大纲资料

《面向对象程序设计》教学大纲资料

面向对象程序设计教学大纲西北民族大学数学与计算机科学学院制定的时间:二〇一二年五月面向对象程序设计教学大纲一、课程基本资料主讲教师:曹永春、蔡正琦、顿毅杰主教材:《C++面向对象程序设计》中国铁道出版社,陈维兴、林小茶编著,第2版,2009辅助教材:1.《C++编程思想》机械工业出版社,美Bruce Eckel,Chuck Alliso著,刘宗田,袁兆山,潘秋菱等译; 第1版,2011年2. 《C++程序设计教程》机械工业出版社,美H.M.Deitel P.J.deitel 薛万鹏等译,2000年3.《C++程序设计语言》,机械工业出版社,美Bjarne Stroustrup 著,裘宗燕译,2005年4.《C++面向对象程序设计习题解析与上机指导》清华大学出版社,陈维兴主编,第2版,2009年实验教材及参考书:同上课程性质:学科选修课学分:4分课时:72学时,其中理论课54学时,上机实验18学时先修课程:计算机导论、C语言程序设计课程结构:多媒体教学,课堂讨论、课内实验、课后作业评价方案:(考核依据、评分的办法、权重的分布)・平时成绩:10% 课堂表现(课堂提问、考勤、作业等)・实验成绩:20%(实验报告、实验考试)・期中成绩:20%(闭卷考试).期末成绩:50%(闭卷考试)参考书目:推荐刊物:1、《计算机学报》2.《软件学报》3.《程序员杂志》4.《码农周刊》5.《快乐码农》相关网站:1. 中国计算机学会/sites/ccf/2. 计算机爱好者协会/forum.php3.C语言中文网/cpp5.中国悠悠期刊网/6. 中国知网/文献1.谭浩强.C程序设计.第4版.北京:清华大学出版社,20102.陈伟兴,林小茶.C++面向对象程序设计.北京:清华大学出版社,20003.陈伟兴,陈昕.C++面向对象程序设计习题解析与上机指导. 北京:清华大学出版社,2003.4.Ravi Sethi.Programing Languaes:concepts and constracts.Addison-Wesley PublishingCompany,1996.5.Ronaad J.Norman ,Object-Oriented Systems and Ddesign,1996.6.郑莉,董源.C++语言程序设计.第2版.北京:清华大学出版社,2001.7.王燕.面向对象的理论与C++实践.北京:清华大学出版社,1997.8.张海藩,牟永敏.面向对象程序设计实用教程. 北京:清华大学出版社,2001.9.张国峰.C++语言及其程序设计教程. 北京:电子工业出版社,1997.二、教学目标、组织形式、考核要求三、学习建议与要求1.做好课前预习,查阅相关知识。

2.课间认真听讲,对教师讲解内容融会贯通,举一反三。

3.认真完成课后作业。

4.在讨论和提问中巩固理论知识,学习编程思维。

四、教学内容概要学时分配五、正文第一章面向对象程序设计概述教学要点:面向对象的基本概念和典型的语言教学时数:3学时教学内容:2.1什么是面向对象程序设计2.1.1新的程序设计范型2.1.2面向对象程序设计的基本概念2.1.3 面向对象程序设计的基本特征2.2什么要使用面向对象程序设计2.2.1传统程序设计方法的局限性2.2.2 面向对象程序设计的主要优点2.3面向对象程序设计的语言2.3.1面向对象程序设计语言的发展概况2.3.2几种典型的面向对象程序设计语言授课方式:多媒体教学,课堂讨论、课内实验、课后作业考核要求:领会和理解面向对象程序设计的4个基本概念:对象、类、消息和方法,理解面向对象程序设计的4个基本特征,了解几种典型的面向对象程序设计语言。

第二章C++基础教学要点:了解C++的产生和特点,理解C++程序的结构特性,C++程序的编辑、编译、连接和运行操作,掌握C++在非面向对象方面的扩充。

教学时数:7学时教学内容:2.1C++的产生和特点2.1.1C++的产生2.1.2C++的特点2.2C++程序的结构特性2.2.1一个简单的C++示例程序2.2.2 C++程序的结构特性2.2.3 C++程序的编辑、编译和运行2.3C++程序的编辑、编译、连接和运行2.4C++在非面向对象方面的扩充2.4.1注释与续行2.4.2输入输出流2.4.3灵活的变量说明2.4.4结构、联合和枚举名2.4.5函数原型2.4.6 const 修饰符2.4.7 void 型指针2.4.8 内联函数2.4.9带有缺省参数值的函数2.4.10函数重载2.4.11作用域标识符::2.4.12无名联合2.4.13强制类型转换2.4.14 new 和delete2.4.15引用授课方式:多媒体教学,课堂讨论、课内实验、课后作业考核要求:了解C++的结构特性,熟练掌握并能综合应用C++在非面向对象方面扩充的应用内容。

第三章类和对象(一)教学要点:理解类和对象的概念,熟练掌握类和对象的定义、构成和使用。

重点掌握类成员的访问属性及其使用和构造函数的定义和应用。

教学时数:11学时教学内容:3.1类的构成3.1.1从结构到类3.1.2类的构成3.2成员函数的定义3.3对象的定义和使用3.3.1类与对象的关系3.3.2对象的定义3.3.3对象中成员的访问3.3.4类的作用域和类成员的访问属性3.3.5对象赋值语句3.4构造函数与析构函数3.4.1构造函数3.4.2成员初始化表3.4.3带默认参数的构造函数3.4.4析构函数3.4.5默认的构造函数和默认的析构函数3.4.6重载构造函数3.4.7拷贝构造函数3.4.8浅拷贝和深拷贝授课方式:多媒体教学,课堂讨论、课内实验、课后作业考核要求:类的构成,对象的定义及使用、成员函数、构造函数与析构函数等内容的相关知识及面向对象初步的编程方法。

第四章类和对象(二)教学要点:进一步理解和掌握类和对象的相关内容,包括this指针的概念、对象数组、对象指针、string类、友元、静态成员以及类的组合、共享数据的保护等内容。

教学时数:8学时教学内容:4.1自引用指针this4.2对象数组与对象指针4.2.1对象数组4.2.2对象指针4.2.3 string类4.3向函数传递对象4.3.1使用对象作为函数参数4.3.2使用对象指针作为函数参数4.3.3使用对象引用作为函数参数4.4静态成员4.4.1静态数据成员4.4.2静态成员函数4.4.3通过普通指针访问静态成员4.5友元4.5.1友元函数4.5.2友元类4.6类的组合4.7共享数据的保护4.7.1常引用4.7.2常对象4.7.3常对象成员4.8C++程序的多文件组成授课方式:多媒体教学,课堂讨论、课内实验、课后作业考核要求:领会并能应用this指针、掌握对象数组的定义及初始化方式、对象指针的概念及应用、静态成员的作用及定义和使用方式,友元函数和友元类的定义和使用,类的组合编程及对象成员的初始化方法等概念和编程方法。

第五章继承与派生类教学要点:熟练掌握派生类定义方式和基类成员在派生类中的访问规则、掌握派生类的构造函数和析构函数的执行顺序和构造规则、理解多继承和虚基类的概念,并能应用于编程、深入理解赋值兼容规则。

教学时数:6学时教学内容:5.1继承与派生类的概念5.1.1为什么要使用继承5.1.2派生类的声明5.1.3基类成员在派生类中的访问属性5.1.4派生类对基类成员的访问规则5.2派生类的构造函数和析构函数5.2.1派生类构造函数和析构函数的调用顺序5.2.2派生类构造函数和析构函数的构造规则5.3调整基类成员在派生类中的访问属性的其它方法5.3.1同名成员5.3.2访问声明5.4多继承5.4.1多继承的声明5.4.2多继承的构造函数与析构函数5.4.3虚基类5.4.4赋值兼容规则授课方式:多媒体教学,课堂讨论、课内实验、课后作业考核要求:熟练掌握派生类定义方式和基类成员在派生类中的访问规则、掌握派生类的构造函数和析构函数的执行顺序和构造规则、理解多继承和虚基类的概念,并能应用于编程、深入理解赋值兼容规则。

第六章多态性与虚函数教学要点:理解多态性概念,区分编译时的多态和运行时的多态及在C++中的实现方法、重点学习C++中实现运行时多态的方法虚函数,掌握虚函数的作用和定义方法并能够熟练使用,理解纯虚函数和抽象类的概念及定义和使用。

教学时数:6学时教学内容:6.1多态性概述6.2虚函数6.2.1虚函数的引入6.2.2虚函数的作用和定义6.2.3虚函数与重载函数的关系6.2.4多继承与虚函数6.2.5虚函数举例6.3纯虚函数和抽象类6.3.1纯虚函数6.3.2抽象类授课方式:多媒体教学,课堂讨论、课内实验、课后作业考核要求:深入理解多态性概念,掌握虚函数的作用和定义方法并能够熟练使用,理解纯虚函数和抽象类的概念及定义和使用。

第七章运算符重载教学要点:理解运算符重载的含义,掌握运算符重载函数的定义和使用方式,区别友元运算符重载和成员运算符重载两种运算符重载函数的定义方法及相应的调用方法、了解几种常见运算符含义及重载方式、掌握标准类型间的转换。

教学时数:5学时教学内容:7.1运算符重载7.2运算符重载函数的两种形式7.2.1友元运算符重载函数7.2.2成员运算符重载函数7.2.3运算符重载应该注意的几个问题7.3几个常用运算符的重载7.3.1单目运算符“++”和“——”的重载7.3.2赋值运算符“=”的重载7.4重载插入运算符和提取运算符7.4.1重载插入运算符7.4.2重载提取运算符7.5类型转换7.5.1标准类型间的转换授课方式:多媒体教学,课堂讨论、课内实验、课后作业考核要求:理解运算符重载的含义,掌握运算符重载函数的定义和使用方式,区别友元运算符重载和成员运算符重载两种运算符重载函数的定义方法及相应的调用方法、了解几种常见运算符含义及重载方式、掌握标准类型间的转换。

第八章模板教学要点:理解模版的概念,掌握函数模板及其声明方法,掌握模板函数及其生成方法,学习类模板的声明与使用方法,区分函数模板和类模板的定义及使用。

教学时数:3学时教学内容:8.1模板的概念8.2函数模板与模板函数8.2.1函数模板的声明8.2.2函数模板的使用8.3类模板与模板类8.4程序举例授课方式:多媒体教学,课堂讨论、课内实验、课后作业考核要求:理解模版的概念,掌握函数模板及其声明方法,掌握模板函数及其生成方法,学习类模板的声明与使用方法。

第九章C++的输入和输出教学要点:熟悉流及流类库的作用,熟练掌握流类库中常用的类及其成员函数的使用方法,掌握重载“<<”和“>>”的方法。

掌握文本文件的打开、关闭及输入输出方法和二进制文件的打开、关闭及输入输出方法。

相关主题