《面向对象程序设计》 课程教学大纲 一、 课程基本信息 课程类型 总学时为学时数回理论课(含上机、实验学时) 总学时为周数 口实习口课程设计口毕业设计 课程编码 7192321 总学时32学时学分2 课程名称 面向对象程序设计 课程英文名称Object Oriented Programming Design 电子信息工程 适用专业 电子信息工程(理工科实验班),电子信息工程(国际班) 先修课程 C语言 开课部门信息学院电子工程系(电子信息) 二、课程性质与目标 面向对象程序设计是电子信息工程专业的专业选修课程。通过本课程教学内 容的学习和大量针对性的实践环节,帮助学生建立面向对象的编程理念,对学生 今后从事软件开发、科研工作及相关工作提供了必要的专业技术知识。 教学主要内容涵盖面向对象的编程思想,包括类、封装、继承与派生以及多 态性等面向对象基本概念和方法。 《面向对象程序设计》主要介绍C+语言的基本概念、语法规则和面向对象 的程序设计方法及思想,以C+语言中的面向对象机制为主。学习者在学习过 程中可以通过大量的程序实例和相关练习,逐步掌握C+的面向对象的功能, 从而学握面向对象程序设计的基本知识和基本技能,学会利用C+语言进行一般 面向对象程序的设计,解决一般应用问题,并为后续专业课程的学习奠定程序设 计基础。 学生通过本课程的学习,应当建立面向对象基本概念和方法,并可以利用面 向对象的编程语言(C+)设计程序,理解C+语言的基本功能。教学中不但使 学生会用C+编写程序,更重要的是培养学生运用面向对象思想解决实际问题的 能 课程目标1:通过课程学习,使学生了解C+对C在面向过程程序设计方 面的改进与增强,为以后的程序学习打下基础。 课程目标2:通过课程学习,了解C+中的类和对象、运算符和重载、继
《面向对象程序设计》 课程教学大纲 一、 课程基本信息 课程类型 总学时为学时数 □√ 理论课(含上机、实验学时) 总学时为周数 □实习 □课程设计 □毕业设计 课程编码 7192321 总学时 32 学时 学分 2 课程名称 面向对象程序设计 课程英文名称 Object Oriented Programming Design 适用专业 电子信息工程 电子信息工程(理工科实验班),电子信息工程(国际班) 先修课程 C 语言 开课部门 信息学院电子工程系(电子信息) 二、 课程性质与目标 面向对象程序设计是电子信息工程专业的专业选修课程。通过本课程教学内 容的学习和大量针对性的实践环节,帮助学生建立面向对象的编程理念,对学生 今后从事软件开发、科研工作及相关工作提供了必要的专业技术知识。 教学主要内容涵盖面向对象的编程思想,包括类、封装、继承与派生以及多 态性等面向对象基本概念和方法。 《面向对象程序设计》主要介绍 C++语言的基本概念、语法规则和面向对象 的程序设计方法及思想,以 C++ 语言中的面向对象机制为主。学习者在学习过 程中可以通过大量的程序实例和相关练习,逐步掌握 C++ 的面向对象的功能, 从而掌握面向对象程序设计的基本知识和基本技能,学会利用 C++语言进行一般 面向对象程序的设计,解决一般应用问题,并为后续专业课程的学习奠定程序设 计基础。 学生通过本课程的学习,应当建立面向对象基本概念和方法,并可以利用面 向对象的编程语言(C++)设计程序,理解 C++语言的基本功能。教学中不但使 学生会用 C++编写程序,更重要的是培养学生运用面向对象思想解决实际问题的 能力。 课程目标 1:通过课程学习,使学生了解 C++对 C 在面向过程程序设计方 面的改进与增强,为以后的程序学习打下基础。 课程目标 2:通过课程学习,了解 C++中的类和对象、运算符和重载、继
承与派生,以及多态性与虚函数等相关概念。 课程目标3:面向对象程序设计课程是一门实践性很强的课程,必须通过上 机操作才能掌握所学的知识,所以要特别强调讲授与上机操作相结合,要保证 学生有充分的上机条件,达到学必用、学即用。 课程目标4:为了配合课程的理论教学,除了保证学生有充分的上机条件, 应重点加强课程实验教学环境和内容的建设,同时可以布置规模较大课外编程 练习,让学生在自由上机的开放环境中完成。从而达到理论联系实际的目的, 使得课程教学更趋完备。 三、课程教学基本内容与要求 第一单元C+知识初步 (一)教学基本要求 掌握:C+数据类型、运算符、表达式和输入输出语句:熟练掌握C+各 种语句及程序流程控制结构。 熟悉:C+程序构架及词法符号约定。 了解:了解C+的编程风格及C+对C语言的扩充。 (二)教学基本内容 1.1从C到C+H 1.2最简单的C+程序 1.3C+对C语言的扩充 1.4C+程序的编写和实现 1.5关于C+上机实践 第二单元类和对象 (一)教学基本要求 掌握:面向对象程序设计中的对象、类、消息等基本概念,类的构造和创建。 熟悉:面向对象程序设计的基本过程、常用语言以及各种语言的联系与区别。 了解:面向对象程序设计的特点 (二)教学基本内容 2.1面向对象程序设计方法概述 2.2类的声明和对象的定义 2.3类的成员函数 2.4对象成员的引用 2.5类和对象的简单应用举例
承与派生,以及多态性与虚函数等相关概念。 课程目标 3:面向对象程序设计课程是一门实践性很强的课程,必须通过上 机操作才能掌握所学的知识,所以要特别强调讲授与上机操作相结合,要保证 学生有充分的上机条件,达到学必用、学即用。 课程目标 4:为了配合课程的理论教学,除了保证学生有充分的上机条件, 应重点加强课程实验教学环境和内容的建设,同时可以布置规模较大课外编程 练习,让学生在自由上机的开放环境中完成。从而达到理论联系实际的目的, 使得课程教学更趋完备。 三、 课程教学基本内容与要求 第一单元 C++知识初步 (一)教学基本要求 掌握:C++数据类型、运算符、表达式和输入/输出语句;熟练掌握 C++各 种语句及程序流程控制结构。 熟悉:C++程序构架及词法符号约定。 了解:了解 C++的编程风格及 C++对 C 语言的扩充。 (二)教学基本内容 1.1 从 C 到 C++ 1.2 最简单的 C++程序 1.3 C++对 C 语言的扩充 1.4 C++程序的编写和实现 1.5 关于 C++上机实践 第二单元 类和对象 (一)教学基本要求 掌握:面向对象程序设计中的对象、类、消息等基本概念,类的构造和创建。 熟悉:面向对象程序设计的基本过程、常用语言以及各种语言的联系与区别。 了解:面向对象程序设计的特点。 (二)教学基本内容 2.1 面向对象程序设计方法概述 2.2 类的声明和对象的定义 2.3 类的成员函数 2.4 对象成员的引用 2.5 类和对象的简单应用举例
2.6类的封装性和信息隐藏 第三单元类与对象的进一步讨论 (一)教学基本要求 掌握:类的构造函数和析构函数的原理和使用方法。 熟悉:类的静态成员和动态存储分配的原理,友元函数、类对象指针和对象 数组的工作原理。 了解:类的模板含义及使用方式。 (二)教学基本内容 3.1构造函数 3.2析构函数 3.3调用构造函数和析构函数的顺序 34对象数组 3.5对象指针 3.6共用数据的保护 3.7对象的动态建立和释放 3.8对象的赋值和复制 3.9静态成员 3.10友元 3.11类模板 第四单元运算符重载 (一)教学基本要求 掌握:运算符重载的规则和方法。 熟悉:单目、双目运算符重载含义。 了解:运算符重载的含义。 (二)教学基本内容 4.1什么是运算符重载 4.2运算符重载的方法 4.3重载运算符的规则 4.4运算符重载函数作为类成员函数和友元函数 4.5重载双目运算符 4.6重载单目运算符 4.7重载流插入运算符和流提取运算符 4.8不同类型数据之间的转换
2.6 类的封装性和信息隐藏 第三单元 类与对象的进一步讨论 (一)教学基本要求 掌握:类的构造函数和析构函数的原理和使用方法。 熟悉:类的静态成员和动态存储分配的原理,友元函数、类对象指针和对象 数组的工作原理。 了解:类的模板含义及使用方式。 (二)教学基本内容 3.1 构造函数 3.2 析构函数 3.3 调用构造函数和析构函数的顺序 3.4 对象数组 3.5 对象指针 3.6 共用数据的保护 3.7 对象的动态建立和释放 3.8 对象的赋值和复制 3.9 静态成员 3.10 友元 3.11 类模板 第四单元 运算符重载 (一)教学基本要求 掌握:运算符重载的规则和方法。 熟悉:单目、双目运算符重载含义。 了解:运算符重载的含义。 (二)教学基本内容 4.1 什么是运算符重载 4.2 运算符重载的方法 4.3 重载运算符的规则 4.4 运算符重载函数作为类成员函数和友元函数 4.5 重载双目运算符 4.6 重载单目运算符 4.7 重载流插入运算符和流提取运算符 4.8 不同类型数据之间的转换
第五单元继承和派生 (一)教学基本要求 掌握:类层次、数据抽象和模块化:基类和派生类:多重继承的设计原理和 方法。 理解:多重构造函数与析构函数中使用方法,虚基类的原理和使用方法。 了解:多重继承设计中二义性产生的原因和避免二义性的方法。 (二)教学基本内容 5.1继承与派生的概念 5.2派生类的声明方式 5.3派生类的构成 5.4派生类成员的访问属性 5.5派生类的构造函数和析构函数 5.6多重继承 5.7基类与派生类的转换 5.8继承与组合 5.9继承在软件开发中的重要意义 第六单元多态性与虚函数 (一)教学基本要求 掌握:重载与程序的多态性设计的方法。 熟悉:纯虚函数的使用方法。 了解:了解虚函数方法与多态机制。 (二)教学基本内容 6.1多态性的概念 6.2一个典型的例子 6.3虚函数 6.4纯虚函数与抽象类 实验一C+对C的扩充 1.实验内容 (1)集成开发环境的使用: (2)程序调试工具的使用和常用的调试方法: (3)编写简单的控制程序,并对其进行调试和功能测试。 基本功能:
第五单元 继承和派生 (一)教学基本要求 掌握:类层次、数据抽象和模块化;基类和派生类;多重继承的设计原理和 方法。 理解:多重构造函数与析构函数中使用方法,虚基类的原理和使用方法。 了解:多重继承设计中二义性产生的原因和避免二义性的方法。 (二)教学基本内容 5.1 继承与派生的概念 5.2 派生类的声明方式 5.3 派生类的构成 5.4 派生类成员的访问属性 5.5 派生类的构造函数和析构函数 5.6 多重继承 5.7 基类与派生类的转换 5.8 继承与组合 5.9 继承在软件开发中的重要意义 第六单元 多态性与虚函数 (一)教学基本要求 掌握:重载与程序的多态性设计的方法。 熟悉:纯虚函数的使用方法。 了解:了解虚函数方法与多态机制。 (二)教学基本内容 6.1 多态性的概念 6.2 一个典型的例子 6.3 虚函数 6.4 纯虚函数与抽象类 实验一 C++对 C 的扩充 1. 实验内容 (1) 集成开发环境的使用; (2) 程序调试工具的使用和常用的调试方法; (3) 编写简单的控制程序,并对其进行调试和功能测试。 基本功能:
使用带默认参数的函数,完成对多个用户数据求极值: 使用用的变量类型,完成对数组的排序: 使用函数重载对不同变量类型的同类处理,例如对整数、向量求加法运算, 2.基本要求 ()学握集成开发环境的使用方法: (2)学握程序编写、调试工具的使用,以及常用的调试方法: (③)掌握默认参数函数的语法和使用方法: 4)掌握变量引用的语法和使用方法: (⑤)掌握函数重载的语法和使用方法。 实验二类与对象 1.实验内容 ()掌握声明类的方法,类和类成员的概念及定义对象的方法: (2)初步掌握用类与对象编制基于对象的程序: (3)学习检查、调试基于对象的程序和功能测试。 基本功能: 基于对象设计思想,完成(1)对立体几何的数据用户录入及面积、体积求 解输出。(2)定时器的设置、计时、输出显示(3)商品销售情况统计。 2.基本要求 ()掌握数据成员、函数成员的权限控制方法: (②)掌握构造函数、析构函数、对象数组、对象指针的使用方法。 实验三运算符重载 1.实验内容 (1)掌握运算符重载的概念和使用方法: (2)掌握几种运算符重载的方法: (3)理解转换构造函数的使用方法。 基本功能: 完成(1)声明一个复数类,重载运算符+.*1,使之用于复数的加减乘除 运算。(2)两个矩阵a,b,都是2行3列,重载+运算,求两矩阵之和。 2.基本要求 (①)掌握函数重载的方法: (2)掌握运算符的使用语法: (3)掌握运算符的参数的设置
使用带默认参数的函数,完成对多个用户数据求极值; 使用引用的变量类型,完成对数组的排序; 使用函数重载对不同变量类型的同类处理,例如对整数、向量求加法运算。 2. 基本要求 (1) 掌握集成开发环境的使用方法; (2) 掌握程序编写、调试工具的使用,以及常用的调试方法; (3) 掌握默认参数函数的语法和使用方法; (4) 掌握变量引用的语法和使用方法; (5) 掌握函数重载的语法和使用方法。 实验二 类与对象 1. 实验内容 (1) 掌握声明类的方法,类和类成员的概念及定义对象的方法; (2) 初步掌握用类与对象编制基于对象的程序; (3) 学习检查、调试基于对象的程序和功能测试。 基本功能: 基于对象设计思想,完成(1)对立体几何的数据用户录入及面积、体积求 解输出。(2)定时器的设置、计时、输出显示(3)商品销售情况统计。 2. 基本要求 (1) 掌握数据成员、函数成员的权限控制方法; (2) 掌握构造函数、析构函数、对象数组、对象指针的使用方法。 实验三 运算符重载 1. 实验内容 (1) 掌握运算符重载的概念和使用方法; (2) 掌握几种运算符重载的方法; (3) 理解转换构造函数的使用方法。 基本功能: 完成(1)声明一个复数类,重载运算符+ - * /,使之用于复数的加减乘除 运算。(2)两个矩阵 a,b,都是 2 行 3 列,重载+运算,求两矩阵之和。 2. 基本要求 (1) 掌握函数重载的方法; (2) 掌握运算符的使用语法; (3) 掌握运算符的参数的设置