版本2和16间的区别 (跳过第14版)
于2006-11-30 21:58:30修订的的版本2
大小: 2739
编辑: czk
备注:
于2008-02-23 15:34:53修订的的版本16
大小: 11907
编辑: localhost
备注: converted to 1.6 markup
删除的内容标记成这样。 加入的内容标记成这样。
行号 1: 行号 1:
[[TableOfContents]]
= 温州大学课程教案 =
 * 学院:计算机科学与学院
 * 课程名称:面向对象程序设计
 * 学时:36
 * 教材:C++面向对象程序设计
 * 授课教师:陈忠克
 * 授课对象:计算机本科
行号 21: 行号 28:
 * 基础知识
 * 参考书
 * 如何学习C++和面向对象编程
 * 结构化的程序设计
 * 面向对象程序设计基本原理
 * 面向对象的三个特点
 * 面向对象程序设计的作用
 * 计算机语言的发展
 * 程序设计范式
 * 程序执行方式
 * 为什么选择C++
 * C++语言的发展历史
 * C++开发环境
 * 常用集成开发环境
 * C++程序开发流程
行号 25: 行号 46:
7课时

== 授课类型: ==
理论课

== 授课题目: ==
C++面向过程程序设计

== 本授课单元教学目标: ==
让学生掌握C++的新注释;掌握基本的I/O流与cin、cout用法;掌握引用类型的使用,理解函数的引用参数传递;掌握内联函数、带默认形参值的函数的语法和适用场合;掌握函数重载的用途、定义。

== 本授课单元教学重点和难点: ==
 * 重点:函数重载、C++输入输出
 * 难点:引用类型的使用

== 本授课单元教学过程设计: ==
2课时

== 授课类型: ==
理论课

== 授课题目: ==
C++面向过程程序设计1:从C语言到C++

== 本授课单元教学目标: ==
让学生掌握C++与C语言的不同,包括注释、输入输出、命名空间。


== 本授课单元教学重点和难点: ==
 * 重点:C++输入输出
 * 难点:命名空间

== 本授课单元教学过程设计: ==
 1. 简单的C++程序实例
 1. 第一个C++程序 输出Hello world
 1. 第二个C++程序 求两数之和
 1. 第三个C++程序 求两个数中较大的一个
 1. 引出C++的新的注释风格
 1. 引出名字空间语法,为什么需要名字空间
 1. 引出C++的头文件习惯
 1. 引出C++的输入输出,介绍相对于C语言输入输出的好处
 1. 练习使用C++的输入输出
行号 45: 行号 75:
10课时

== 授课类型: ==
理论课

== 授课题目: ==
C++基于对象程序设计概述

== 本授课单元教学目标: ==

== 本授课单元教学重点和难点: ==


== 本授课单元教学过程设计: ==
2课时

== 授课类型: ==
理论课

== 授课题目: ==
C++面向过程程序设计:引用

== 本授课单元教学目标: ==
掌握引用类型的使用,理解函数的引用参数传递,返回引用类型

== 本授课单元教学重点和难点: ==
 * 重点:引用参数传递
 * 难点:引用返回类型


== 本授课单元教学过程设计: ==
 1. 引用的定义
 1. 由swap函数引出引用参数的定义和用途
 1. 引用返回类型的定义和用途
 1. const引用的定义和用途
 1. 定义常量
 1. 强制类型转换
 1. bool类型
 1. 定义变量
 1. 结构体
行号 69: 行号 111:
C++面向对象程序设计

== 本授课单元教学目标: ==
让学生了解计算机程序设计语言的发展;理解面向对象的概念和方法;理解程序的开发过程和面向对象程序的开发过程。

== 本授课单元教学重点和难点: ==
面向对象的方法

== 本授课单元教学过程设计: ==
C++面向过程程序设计:函数

== 本授课单元教学目标: ==
掌握内联函数、带缺省参数的函数的语法和适用场合;掌握函数重载的用途、定义。

== 本授课单元教学重点和难点: ==
 * 重点:函数重载、缺省参数
 * 难点:

== 本授课单元教学过程设计: ==
 * 函数的声明与定义
 * 由带参数宏引出内联函数
 * 由很多参数的函数引出代缺省参数的函数
 * 重载函数
行号 87: 行号 134:
C++面向过程程序设计:其它语法

== 本授课单元教学目标: ==
掌握C++内存分配、bool类型、string类型、变量定义规则、新型强制类型转换语法、const常量定义。

== 本授课单元教学重点和难点: ==
 * 重点:string类型
 * 难点:内存分配

== 本授课单元教学过程设计: ==
 * 介绍const常量定义
 * 介绍bool类型
 * 介绍四种强制类型转换
 * 介绍C++变量可以在多种地方定义
 * 对比C语言和C++语言的内存分配
 * 对比C语言的字符串和C++的string类

= 第六课 =
== 授课时间: ==
2课时

== 授课类型: ==
理论课

== 授课题目: ==
C++基于对象程序设计:类和对象

== 本授课单元教学目标: ==
掌握面向对象程序设计的基本概念,牢固掌握类的声明,类成员的访问控制,类的成员函数,对象的声明等类与对象的基本语法内容

== 本授课单元教学重点和难点: ==
重点:成员函数
难点:成员函数、访问权限


== 本授课单元教学过程设计: ==
 1. 用例子说明C语言中定义自定义类型的方法:用C语言结构体定义自定义类型,用函数实现操作结构体的方法
 1. 将C语言的结构体和操作结构体的函数结合在一起,引出C++类的概念
 1. 举例说明C++类的语法
 1. 举例说明对象的定义方法
 1. 练习类和对象的使用
 1. 举例说明类成员的访问权限控制

= 第七课 =
== 授课时间: ==
4课时

== 授课类型: ==
理论课

== 授课题目: ==
C++基于对象程序设计:对象的构造和析构

== 本授课单元教学目标: ==
牢固掌握构造函数和析构函数,拷贝构造函数的概念和写法
== 本授课单元教学重点和难点: ==
 * 重点:构造函数
 * 难点:拷贝构造函数

== 本授课单元教学过程设计: ==
 1. 举例说明构造函数的作用
 1. 介绍构造函数的定义语法
 1. 举例说明构造函数可以重载
 1. 举例说明调用构造函数定义对象的方法
 1. 组合对象的构造
 1. 举例说明对象的析构函数的作用
 1. 举例说明拷贝构造函数的作用
 1. 练习构造函数、拷贝构造函数、析构函数的使用

= 第八课 =
== 授课时间: ==
2课时

== 授课类型: ==
理论课

== 授课题目: ==
C++基于对象程序设计:类和对象的其它方面

== 本授课单元教学目标: ==
牢固掌握静态数据成员的定义,掌握静态成员函数的定义和使用;理解并掌握友元函数和友元类,friend保留字;理解并掌握常引用、常对象和常成员函数。

== 本授课单元教学重点和难点: ==
 * 重点:
 * 难点:静态成员

== 本授课单元教学过程设计: ==
 1. 举例说明静态数据成员的用途
 1. 举例说明静态成员函数的用途
 1. 练习使用静态成员
 1. 举例说明友员函数的作用
 1. 举例说明友员类的作用
 1. 举例说明常成员函数的用法
 1. 举例说明常对象的用法

= 第九课 =
== 授课时间: ==
2课时

== 授课类型: ==
理论课

== 授课题目: ==
C++面向对象程序设计:继承

== 本授课单元教学目标: ==
掌握派生类的声明,派生的访问控制;理解派生类的构造和析构函数。

== 本授课单元教学重点和难点: ==
 * 重点:继承的概念,派生类定义方法,派生类的构造
 * 难点:派生类的权限

== 本授课单元教学过程设计: ==
 1. 举实例说明继承的概念
 1. 派生类的定义方法
 1. 举例说明派生类的初始化方法,构造函数的定义
 1. 举例说明派生类的析构函数
 1. 举例说明派生类的权限控制


= 第十课 =
== 授课时间: ==
2课时

== 授课类型: ==
理论课

== 授课题目: ==
C++面向对象程序设计:多继承

== 本授课单元教学目标: ==
掌握多基类的派生类的声明,掌握虚基类的定义

== 本授课单元教学重点和难点: ==
 * 重点:
 * 难点:虚基类的构造

== 本授课单元教学过程设计: ==
 1. 举实例说明多继承的定义方法
 1. 举例说明虚基类的用途和使用方法
 1. 虚基类的构造方法



= 第十一课 =
== 授课时间: ==
2课时

== 授课类型: ==
理论课

== 授课题目: ==
C++面向对象程序设计:虚函数

== 本授课单元教学目标: ==
掌握多态的概念,掌握虚函数的定义

== 本授课单元教学重点和难点: ==
 * 重点:虚函数
 * 难点:虚析构函数

== 本授课单元教学过程设计: ==
 1. 举例说明多态的概念
 1. 举例说明多态的实现方法,引出虚函数
 1. 说明实现多态的必备条件
 1. 练习使用虚函数
 1. 介绍虚析构函数的用途



= 第十二课 =
== 授课时间: ==
2课时

== 授课类型: ==
理论课

== 授课题目: ==
C++面向对象程序设计:纯虚函数

== 本授课单元教学目标: ==
掌握纯虚函数的定义,掌握抽象类的概念

== 本授课单元教学重点和难点: ==
 * 重点:纯虚函数
 * 难点:

== 本授课单元教学过程设计: ==
 1. 举例说明纯虚函数的用途
 1. 介绍抽象类的概念
 1. 介绍接口类的概念
 1. 介绍面向对象的设计方法

= 第十三课 =
== 授课时间: ==
2课时

== 授课类型: ==
理论课

== 授课题目: ==
C++运算符重载:运算符重载概述

== 本授课单元教学目标: ==

== 本授课单元教学重点和难点: ==
 * 重点:
 * 难点:二元运算符和一元运算符的区别

== 本授课单元教学过程设计: ==

 * 没有运算符重载的情况下,类是使用的(complex类、string类)
 * 定义运算符后,类的使用得到简化
 * 定义运算符的一般规则
 * 定义二元运算符的规则
 * 定义一元运算符的规则
 * 使用运算符重载的完整的例子(complex类)
 * 练习:定义分数类

= 第十四课 =
== 授课时间: ==
2课时

== 授课类型: ==
理论课

== 授课题目: ==
C++运算符重载:特殊运算符重载

== 本授课单元教学目标: ==
掌握模板函数、模板类的定义和用途。

== 本授课单元教学重点和难点: ==
 * 重点:模板函数、模板类
 * 难点

== 本授课单元教学过程设计: ==
 1. <<和>>运算符的重载
 1. = 运算符的重载
 1. 类型转换 运算符的重载
 1. [ ] 运算符的重载
 1. () 运算符的重载
 1. ++和-- 运算符的重载
 1. -> 运算符的重载
 1. new, delete 运算符的重载
 1. string类的例子

= 第十五课 =
== 授课时间: ==
2课时

== 授课类型: ==
理论课

== 授课题目: ==
行号 90: 行号 392:
让学生了解计算机程序设计语言的发展;理解面向对象的概念和方法;理解程序的开发过程和面向对象程序的开发过程。

== 本授课单元教学重点和难点: ==
面向对象的方法

== 本授课单元教学过程设计: ==
= 第六课 =
== 授课时间: ==
2课时

== 授课类型: ==
理论课

== 授课题目: ==
C++标准库

== 本授课单元教学目标: ==
让学生了解计算机程序设计语言的发展;理解面向对象的概念和方法;理解程序的开发过程和面向对象程序的开发过程。

== 本授课单元教学重点和难点: ==
面向对象的方法

== 本授课单元教学过程设计: ==
掌握模板函数、模板类的定义和用途。

== 本授课单元教学重点和难点: ==
 * 重点:模板函数、模板类
 * 难点:函数模板参数的推导

== 本授课单元教学过程设计: ==
 1. 为什么需要函数模板
 1. 函数模板如何定义
 1. 函数模板如何使用
 1. 函数模板出现歧异
 1. 函数模板的重载
 1. 为什么需要类模板
 1. 类模板如何定义
 1. 类模板如何使用


= 第十六课 =
== 授课时间: ==
2课时

== 授课类型: ==
理论课

== 授课题目: ==
C++标准库:输入输出流库

== 本授课单元教学目标: ==
掌握基本的文件流和字符串流的使用

== 本授课单元教学重点和难点: ==
 * 重点:流的概念,文件操作
 * 难点:字符串流的使用

== 本授课单元教学过程设计: ==
 * 文件输入流ofstream使用举例
 * 文件输出流ifstream使用举例
 * 字符串输出流ostringstream使用举例
 * 字符串输出流istringstream使用举例

= 第十七课 =
== 授课时间: ==
2课时

== 授课类型: ==
理论课

== 授课题目: ==
C++标准库:容器

== 本授课单元教学目标: ==
掌握简单容器的使用

== 本授课单元教学重点和难点: ==
重点:vector和list的使用
难点:跌代子的理解和使用

== 本授课单元教学过程设计: ==
 * vector的使用举例
 * 用vector作为栈使用的例子
 * list的使用举例
 * 常用泛型函数的使用举例

温州大学课程教案

  • 学院:计算机科学与学院
  • 课程名称:面向对象程序设计
  • 学时:36
  • 教材:C++面向对象程序设计
  • 授课教师:陈忠克
  • 授课对象:计算机本科

第一课

1. 授课时间:

2课时

2. 授课类型:

理论课

3. 授课题目:

面向对象程序设计概述

4. 本授课单元教学目标:

让学生了解计算机程序设计语言的发展;理解面向对象的概念和方法;理解程序的开发过程和面向对象程序的开发过程。

5. 本授课单元教学重点和难点:

面向对象的方法

6. 本授课单元教学过程设计:

  • 基础知识
  • 参考书
  • 如何学习C++和面向对象编程
  • 结构化的程序设计
  • 面向对象程序设计基本原理
  • 面向对象的三个特点
  • 面向对象程序设计的作用
  • 计算机语言的发展
  • 程序设计范式
  • 程序执行方式
  • 为什么选择C++
  • C++语言的发展历史
  • C++开发环境
  • 常用集成开发环境
  • C++程序开发流程

第二课

1. 授课时间:

2课时

2. 授课类型:

理论课

3. 授课题目:

C++面向过程程序设计1:从C语言到C++

4. 本授课单元教学目标:

让学生掌握C++与C语言的不同,包括注释、输入输出、命名空间。

5. 本授课单元教学重点和难点:

  • 重点:C++输入输出
  • 难点:命名空间

6. 本授课单元教学过程设计:

  1. 简单的C++程序实例
  2. 第一个C++程序 输出Hello world
  3. 第二个C++程序 求两数之和
  4. 第三个C++程序 求两个数中较大的一个
  5. 引出C++的新的注释风格
  6. 引出名字空间语法,为什么需要名字空间
  7. 引出C++的头文件习惯
  8. 引出C++的输入输出,介绍相对于C语言输入输出的好处
  9. 练习使用C++的输入输出

第三课

1. 授课时间:

2课时

2. 授课类型:

理论课

3. 授课题目:

C++面向过程程序设计:引用

4. 本授课单元教学目标:

掌握引用类型的使用,理解函数的引用参数传递,返回引用类型

5. 本授课单元教学重点和难点:

  • 重点:引用参数传递
  • 难点:引用返回类型

6. 本授课单元教学过程设计:

  1. 引用的定义
  2. 由swap函数引出引用参数的定义和用途
  3. 引用返回类型的定义和用途
  4. const引用的定义和用途
  5. 定义常量
  6. 强制类型转换
  7. bool类型
  8. 定义变量
  9. 结构体

第四课

1. 授课时间:

2课时

2. 授课类型:

理论课

3. 授课题目:

C++面向过程程序设计:函数

4. 本授课单元教学目标:

掌握内联函数、带缺省参数的函数的语法和适用场合;掌握函数重载的用途、定义。

5. 本授课单元教学重点和难点:

  • 重点:函数重载、缺省参数
  • 难点:

6. 本授课单元教学过程设计:

  • 函数的声明与定义
  • 由带参数宏引出内联函数
  • 由很多参数的函数引出代缺省参数的函数
  • 重载函数

第五课

1. 授课时间:

2课时

2. 授课类型:

理论课

3. 授课题目:

C++面向过程程序设计:其它语法

4. 本授课单元教学目标:

掌握C++内存分配、bool类型、string类型、变量定义规则、新型强制类型转换语法、const常量定义。

5. 本授课单元教学重点和难点:

  • 重点:string类型
  • 难点:内存分配

6. 本授课单元教学过程设计:

  • 介绍const常量定义
  • 介绍bool类型
  • 介绍四种强制类型转换
  • 介绍C++变量可以在多种地方定义
  • 对比C语言和C++语言的内存分配
  • 对比C语言的字符串和C++的string类

第六课

1. 授课时间:

2课时

2. 授课类型:

理论课

3. 授课题目:

C++基于对象程序设计:类和对象

4. 本授课单元教学目标:

掌握面向对象程序设计的基本概念,牢固掌握类的声明,类成员的访问控制,类的成员函数,对象的声明等类与对象的基本语法内容

5. 本授课单元教学重点和难点:

重点:成员函数 难点:成员函数、访问权限

6. 本授课单元教学过程设计:

  1. 用例子说明C语言中定义自定义类型的方法:用C语言结构体定义自定义类型,用函数实现操作结构体的方法
  2. 将C语言的结构体和操作结构体的函数结合在一起,引出C++类的概念
  3. 举例说明C++类的语法
  4. 举例说明对象的定义方法
  5. 练习类和对象的使用
  6. 举例说明类成员的访问权限控制

第七课

1. 授课时间:

4课时

2. 授课类型:

理论课

3. 授课题目:

C++基于对象程序设计:对象的构造和析构

4. 本授课单元教学目标:

牢固掌握构造函数和析构函数,拷贝构造函数的概念和写法

5. 本授课单元教学重点和难点:

  • 重点:构造函数
  • 难点:拷贝构造函数

6. 本授课单元教学过程设计:

  1. 举例说明构造函数的作用
  2. 介绍构造函数的定义语法
  3. 举例说明构造函数可以重载
  4. 举例说明调用构造函数定义对象的方法
  5. 组合对象的构造
  6. 举例说明对象的析构函数的作用
  7. 举例说明拷贝构造函数的作用
  8. 练习构造函数、拷贝构造函数、析构函数的使用

第八课

1. 授课时间:

2课时

2. 授课类型:

理论课

3. 授课题目:

C++基于对象程序设计:类和对象的其它方面

4. 本授课单元教学目标:

牢固掌握静态数据成员的定义,掌握静态成员函数的定义和使用;理解并掌握友元函数和友元类,friend保留字;理解并掌握常引用、常对象和常成员函数。

5. 本授课单元教学重点和难点:

  • 重点:
  • 难点:静态成员

6. 本授课单元教学过程设计:

  1. 举例说明静态数据成员的用途
  2. 举例说明静态成员函数的用途
  3. 练习使用静态成员
  4. 举例说明友员函数的作用
  5. 举例说明友员类的作用
  6. 举例说明常成员函数的用法
  7. 举例说明常对象的用法

第九课

1. 授课时间:

2课时

2. 授课类型:

理论课

3. 授课题目:

C++面向对象程序设计:继承

4. 本授课单元教学目标:

掌握派生类的声明,派生的访问控制;理解派生类的构造和析构函数。

5. 本授课单元教学重点和难点:

  • 重点:继承的概念,派生类定义方法,派生类的构造
  • 难点:派生类的权限

6. 本授课单元教学过程设计:

  1. 举实例说明继承的概念
  2. 派生类的定义方法
  3. 举例说明派生类的初始化方法,构造函数的定义
  4. 举例说明派生类的析构函数
  5. 举例说明派生类的权限控制

第十课

1. 授课时间:

2课时

2. 授课类型:

理论课

3. 授课题目:

C++面向对象程序设计:多继承

4. 本授课单元教学目标:

掌握多基类的派生类的声明,掌握虚基类的定义

5. 本授课单元教学重点和难点:

  • 重点:
  • 难点:虚基类的构造

6. 本授课单元教学过程设计:

  1. 举实例说明多继承的定义方法
  2. 举例说明虚基类的用途和使用方法
  3. 虚基类的构造方法

第十一课

1. 授课时间:

2课时

2. 授课类型:

理论课

3. 授课题目:

C++面向对象程序设计:虚函数

4. 本授课单元教学目标:

掌握多态的概念,掌握虚函数的定义

5. 本授课单元教学重点和难点:

  • 重点:虚函数
  • 难点:虚析构函数

6. 本授课单元教学过程设计:

  1. 举例说明多态的概念
  2. 举例说明多态的实现方法,引出虚函数
  3. 说明实现多态的必备条件
  4. 练习使用虚函数
  5. 介绍虚析构函数的用途

第十二课

1. 授课时间:

2课时

2. 授课类型:

理论课

3. 授课题目:

C++面向对象程序设计:纯虚函数

4. 本授课单元教学目标:

掌握纯虚函数的定义,掌握抽象类的概念

5. 本授课单元教学重点和难点:

  • 重点:纯虚函数
  • 难点:

6. 本授课单元教学过程设计:

  1. 举例说明纯虚函数的用途
  2. 介绍抽象类的概念
  3. 介绍接口类的概念
  4. 介绍面向对象的设计方法

第十三课

1. 授课时间:

2课时

2. 授课类型:

理论课

3. 授课题目:

C++运算符重载:运算符重载概述

4. 本授课单元教学目标:

5. 本授课单元教学重点和难点:

  • 重点:
  • 难点:二元运算符和一元运算符的区别

6. 本授课单元教学过程设计:

  • 没有运算符重载的情况下,类是使用的(complex类、string类)
  • 定义运算符后,类的使用得到简化
  • 定义运算符的一般规则
  • 定义二元运算符的规则
  • 定义一元运算符的规则
  • 使用运算符重载的完整的例子(complex类)
  • 练习:定义分数类

第十四课

1. 授课时间:

2课时

2. 授课类型:

理论课

3. 授课题目:

C++运算符重载:特殊运算符重载

4. 本授课单元教学目标:

掌握模板函数、模板类的定义和用途。

5. 本授课单元教学重点和难点:

  • 重点:模板函数、模板类
  • 难点

6. 本授课单元教学过程设计:

  1. <<和>>运算符的重载
  2. = 运算符的重载
  3. 类型转换 运算符的重载
  4. [ ] 运算符的重载
  5. () 运算符的重载
  6. ++和-- 运算符的重载
  7. -> 运算符的重载

  8. new, delete 运算符的重载
  9. string类的例子

第十五课

1. 授课时间:

2课时

2. 授课类型:

理论课

3. 授课题目:

C++泛型程序设计

4. 本授课单元教学目标:

掌握模板函数、模板类的定义和用途。

5. 本授课单元教学重点和难点:

  • 重点:模板函数、模板类
  • 难点:函数模板参数的推导

6. 本授课单元教学过程设计:

  1. 为什么需要函数模板
  2. 函数模板如何定义
  3. 函数模板如何使用
  4. 函数模板出现歧异
  5. 函数模板的重载
  6. 为什么需要类模板
  7. 类模板如何定义
  8. 类模板如何使用

第十六课

1. 授课时间:

2课时

2. 授课类型:

理论课

3. 授课题目:

C++标准库:输入输出流库

4. 本授课单元教学目标:

掌握基本的文件流和字符串流的使用

5. 本授课单元教学重点和难点:

  • 重点:流的概念,文件操作
  • 难点:字符串流的使用

6. 本授课单元教学过程设计:

  • 文件输入流ofstream使用举例
  • 文件输出流ifstream使用举例
  • 字符串输出流ostringstream使用举例
  • 字符串输出流istringstream使用举例

第十七课

1. 授课时间:

2课时

2. 授课类型:

理论课

3. 授课题目:

C++标准库:容器

4. 本授课单元教学目标:

掌握简单容器的使用

5. 本授课单元教学重点和难点:

重点:vector和list的使用 难点:跌代子的理解和使用

6. 本授课单元教学过程设计:

  • vector的使用举例
  • 用vector作为栈使用的例子
  • list的使用举例
  • 常用泛型函数的使用举例

面向对象程序设计教案 (2008-02-23 15:34:53由localhost编辑)

ch3n2k.com | Copyright (c) 2004-2020 czk.