《面向对象程序设计(C++)》课程教学大纲
课程名称
面向对象程序设计
课程编码
课程英文名称
Object-oriented Programming
课程性质
专业基础课
总学时\学分
32\2
理论\实验
16\16
周学时数
2
先修课程
高级语言程序设计
开课院系
适用专业
计算机科学与技术
编写人
审批人
一、课程简介
《面向对象程序设计》课程是计算机科学与技术专业的一门专业基础课。该门课程内容对只有面向过程编程基础的同学来说有一定的难度,要求学生具备程序设计语言基础和一定的程序设计能力。通过本课程的学习使学生建立面向对象程序设计的一般概念,掌握C++语言的特点,进而掌握运用C++进行面向对象程序设计的方法,并能在今后的软件开发中能有效地使用面向对象程序设计技术。
二、教学目的
面向对象程序设计中的关键环节是理解面向对象方法中的机制,如何按要求设计类以实现特定的功能。通过本课程的学习,力求使读者不仅会使用C++语言编程,而且可以理解这些机制,为以后学习VC++面向对象系列开发工具、软件工程等后续课打下必备的基础。学生应达到如下要求:
1)了解面向对象的思想和基本概念;
2)对C++语言有别于C语言的各种成分有较好的理解;
3)能理解和掌握面向对象的核心概念—类和对象。
三、教学要求
16学时的理论教学主要是由教师进行课堂讲解,面向程序设计,应该是独立于程序设计语言的。每章在讲解面向对象方法的每一个新的机制时,首先介绍为什么要引入这些机制,然后说明这些机制在C++内部是如何实现的。
16学时的实验则应由教师预先安排实验题。每个实验除了给出实验目的、实验内容外,还要求学生结合实验内容进行分析和讨论。对初学者来说,理解面向对象程序设计的基本思想需要一个循序渐进的过程,所以提供的实验内容即要有验证性的,也要有应用性的。对于学生操作过程中出现的典型问题应在后面的课程中进行讲解。
四、课程重点与难点
重点:构造函数和析构函数;单一继承;多态性
难点:单一继承;多态性
五、教学内容
教学时间分配表
章节
内容
学时
备注
第1章
面向对象程序设计概论
2
第2章
从C到C++
4
第3章
类与对象
4
第4章
继承机制
2
第5章
多态性和虚函数
4
理论学时合计
16
项目1
简单的C++程序
2
设计性
项目2
引用与函数
4
验证性、设计性
项目3
构造函数与析构函数
4
验证性、设计性
项目4
继承与派生
2
验证性、设计性
项目5
多态性与虚函数
4
验证性、设计性
实验学时合计
16
总学时
32
第1章面向对象程序设计概论
1.1程序设计方法
1.1.1结构化程序设计方法
1.1.2面向对象的程序设计方法
1.2面向对象程序设计的基本概念
1.2.1抽象
1.2.2封装
1.2.3消息
1.2.4继承
1.2.5多态
1.3面向对象程序设计语言
1.3.1混合型的面向对象程序设计语言C++
1.3.2纯面向对象程序设计语言Java
1.4C++对面向对象程序设计方法的支持
1.5C++程序的实现
1.5.1编辑C++源程序
1.5.2编译和连接源程序
1.5.3运行源程序
第2章从C到C++
2.1C++程序基本组成
2.1.1C++程序基本结构
2.1.2C++程序基本组成
2.2简单的输入/输出
2.2.1键盘输入
2.2.2屏幕输出
2.3指针与引用
2.3.1指针
2.3.2引用
2.4函数
2.4.1函数的定义与调用
2.4.2函数原型与带默认参数的函数
2.4.3函数的参数传递
2.4.4内联函数与重载函数
2.4.5标准库函数
2.5new和delete运算符
2.6其他若干重要的C++特性
2.6.1符号常量
2.6.2变量的定义
2.6.3强制类型转换
2.6.4string类型
2.6.5结构
第3章类与对象
3.1类
3.1.1类的定义
3.1.2类成员的访问控制
3.1.3成员函数的实现
3.2对象
3.2.1对象的声明
3.2.2对象的创建和销毁
3.2.3对象成员的访问
3.3构造函数与析构函数
3.3.1构造函数
3.3.2析构函数
3.4this指针多态性与虚函数
3.5子对象和堆对象
3.5.1子对象
3.5.2堆对象
第4章继承机制
4.1基类和派生类
4.1.1继承和派生的基本概念
4.1.2继承的种类
4.2单继承
4.3派生类的访问控制
4.3.1公有继承
4.3.2私有继承
4.3.3保护继承
第5章多态性和虚函数
5.1静态联编与动态联编
5.1.1静态联编
5.1.2动态联编
5.2虚函数
5.2.1虚函数的作用
5.2.2虚函数与一般重载函数的区别
5.2.3继承虚属性
5.3纯虚函数和抽象类
5.3.1纯虚函数
5.3.2抽象类
5.4虚析构函数
5.4.1虚析构函数的定义与使用
5.4.2虚析构函数的必要性
项目一简单的C++程序
1.熟悉VisualC++6.0编译系统的常用功能。
2.学会使用VisualC++6.0编译系统实现简单的C++程序。
3.熟悉C++程序的基本结构,学会使用简单的输入/输出。
项目二引用与函数
1.熟悉引用的概念,掌握引用的定义方法,学会引用在C++程序中的应用。
2.掌握函数的定义和调用方法。
3.练习重载函数的使用。
项目三构造函数与析构函数
1.熟悉类的定义格式和类中成员的访问权限。
2.构造函数与析构函数的调用时机与顺序。
3.掌握对象的定义以及对象的初始化的时机与方法。
项目四继承与派生
1.掌握派生类的定义方法和派生类构造函数的定义方法。
2.掌握不同继承方式的情况下,基类成员在派生类中的访问权限。
3.掌握多继承方式的情况下,构造函数与析构函数的调用时机与顺序。
项目五        多态性与虚函数
了解静态联编和动态联编的概念。掌握动态联编的条件。
六、执行大纲使用说明
1.依据不同学分,可适当调整相关内容   
本课程围绕两条主线进行讲解:一条主线以通俗易懂的语言围绕类与对象介绍面向对象程序构造的基本思想,另一主线通过实践引导学生快速掌握使用开发面向对象程序的方法和技巧。面向对象程序的方法和技巧比较多,依据不同学分,课程教学的内容和章节可在执行中作适当调整。
2.教学方式
本课程主要采用课堂讲授、随堂讨论、作业及练习等多种方式授课。本课程的主要教学环节如下:
(1)课堂讲授:讲授是本课的重要教学环节,是主要的教学方式之一,最好采用多媒体教学,可以增强学生的感性认识,同时节省板书时间以提高课堂效率。
(2)随堂讨论:通过具体的案例进行,要注意培养学生自主学习的能力,为学生提供尽可能完善的教学服务,帮助他们掌握本课程的全部内容。
(3)作业及练习:在本课的学习过程中,作业是必不可少的。除教材各章后所附的作业要按教学要求完成以外,还可根据教学进度和学生的实际情况,通过大量的练习题,来加深对概念的理解和掌握。
(4)实验:通过实验性内容,来加深对面向对象机制的理解和掌握。
3.期末考试及成绩评定
(1)考试内容以教学大纲为依据,难度适中,题量适度,对未作具体教学要求的内容可不作为考试要求。
(2)成绩评定:平时作业(30%)与期末考试(70%)相结合。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。