《面向对象程序设计》考试大纲
一、课程的性质与设置目的
(一) 课程性质和特点
使用面向对象程序设计的思想和方法进行系统设计和编程,从根本上解决了从现实世界的问题空间到计算机解空间的直接映射,使所设计的系统能更加准确地模拟现实世界;同时面向对象的系统从程序的结构、运行机制上保证了程序的安全性,灵活性;大大提高了程序码段的复用性,易维护性和易扩展性。因此,面向对象程序设计已经取代了面向过程程序设计成为当前程序设计(特别是复杂大系统的设计、编程)的主流方法。
本课程属于面向对象程序设计的基础课。通过全面、系统地介绍面向对象程序设计的基本概念、分析方法、设计方法、基本语法和编程方法;详尽地讲述C++语言面向对象的基本特性,其内容包括类、对象、派生类、继承、多态性、虚函数、模板、流类库、异常处理和STL简介等;从而使学生能深刻理解和领会面向对象程序设计的特点和风格,类的封装性、继承性和多态性与程序的安全性、结构性和灵活多样性之间的关系,达到掌握其设计方法和编程基础的目
的,并为后续课程(例如,“面向对象(使用MFC)的Windows程序设计”、“软件工程”等)打下基础。
(二) 本课程的基本要求
通过本课程的学习,应达到知识和技能两方面的目标:
知识方面:
1. 面向对象程序设计的思想和方法;
2. 类和对象的概念与抽象和实例之间的关系;
3. 类的封装性、继承性、多态性概念以及它们与程序的安全性、结构性和灵活多样性之间的关系;
4. 类属和模板的概念与软件模块的通用性的关系。
技能方面:
1.初步掌握从需求分析、程序设计到程序编码的面向对象方法;
2.熟练掌握类的封装性、继承性、多态性的实现方法;
3.学会使用C++编程环境编制面向对象的程序;
5. 了解使用MFC创建的Windows程序的方法。
()本课程与相关课程的联系
本课程的先修课程包括高级语言程序设计、数据结构,后继课程有windows编程、Java编程等。它们之间的关系是:
1、 数据结构中的抽象数据类型概念能帮助学生学习面向对象程序设计中涉及的继承、多态等内容。
2、 面向对象程序设计的学习需要一门高级程序设计语言作为知识的铺垫。
3、 本课程学习的面向对象程序设计的思想和基础概念帮助学生学习后继课程windows编程和Java编程。
二、课程内容与考核目标
第一章 面向对象程序设计概述
(一) 课程内容
1. 什麽是面向对象(Object Oriented);
2. 什麽是面向对象程序设计(Object Oriented Programming);
3. 面向对象的基本概念(对象、消息和类);
4. 面向对象系统的的主要特性(数据的抽象与封装、继承性、多态性);
5. 用面向对象方法建立概念模型和面向对象设计技术;
6. 软件 = OOP + DB。
(二) 学习的目的与要求
初步建立面向对象程序设计的思想和概念。
(三) 考核的知识点与考核要求
1. 面向对象程序设计的思想、设计范型、设计方法和实现语言(要求理解和领会)
2. 面向对象的基本概念(要求掌握和识记)
2.1 对象的基本概念(对象的属性、行为和状态)
2.2 消息的基本概念(消息的定义、种类和消息序列)
2.3 类的基本概念(类的定义、与对象的关系)
3. 面向对象系统的特性(要求掌握和识记)
3.1 封装性(封装的概念、实现和作用)
3.2 继承性(继承的概念、分类、与封装和委托的关系)
3.3 多态性(重载、虚函数和抽象类的概念)
4. 面向对象分析的概念模型和概念模型的建立方法(类图和CDL描述)(要求理解和领会)
5. 面向对象设计技术(软件生命周期和一般设计方法)(要求理解和领会)
6. 面向对象的数据库应用程序设计(OOP+DB)与面向对象的数据库的概念(要求理解和领会)
第二章 C++概述
(一) 课程内容
1. 标准输入/输出流(cin和cout)和输入/输出运算符(>>和 <<);
2. const和内置(联)函数inline;
3. 函数重载;
4. 作用域运算符(::);
5. new和delete;
6. 引用。
(二) 学习的目的与要求
掌握C++与C的不同点,为编写面向对象的C++程序打下基础。
(三)考核的知识点与考核要求
1. 输入流cin和输出流cout(要求掌握和综合应用)
1.1 输入运算符>>和、line的使用
1.2 输出运算符<<的使用
1.3 输入和输出的格式控制
1.4 >>和<<与scanf和printf的差异
2. const的使用(要求掌握和综合应用)
2.1 使用const取代#define定义常量
2.2 const的其他应用(只读参数的声明、只读函数的声明和定义)
3. 内置inline函数的定义以及与宏定义的比较(要求掌握和识记)
4. 函数重载的概念和重载方法(要求掌握和识记)
5. new和delete运算符(要求掌握和综合应用)
4.1 new和delete的应用
4.2 new和delete与malloc和free函数的比较
6. 引用(要求掌握和综合应用)
6.1 引用的概念和应用(引用变量定义及初始化)
6.2 引用作函数的参数
6.3 返回引用的函数
6.4 引用与指针的比较
第三章 类和对象及其封装性    (教材第78章)
(一) 课程内容
1. 类和对象的概念,相互关系和定义方法;
2. 构造函数和析构函数;
3. 静态数据成员和静态成员函数;
4. 对象指针;
5. 对象参数;
6. 对象成员;
7. 友元、友元函数和友元类。
(二) 学习的目的与要求
掌握类和对象的概念、定义、使用和相互关系;类的封装性和友元的作用。
(三) 考核的知识点与考核要求
1. 类的构成(要求掌握和综合应用)
1.1 类的定义(C++类的定义)
1.2 类的成员(私有成员和公有成员)
1.3 类成员函数的作用和定义方法
1.4 类构造函数和析构函数
        1.4.1 构造函数的一般概念和定义
        1.4.2 参数化的构造函数
        1.4.3 带缺省参数的构造函数
        1.4.4 多构造函数
        1.4.5 拷贝构造函数
        1.4.6 析构函数的一般概念和定义
1.5 静态数据成员的定义,初始化和作用
1.6 静态成员函数的定义和作用
2. 类的应用(要求掌握和综合应用)
2.1 类对象的创建(定义)
2.2 类对象数据成员的访问和成员函数的调用
2.3 this指针和名字解析
2.4 静态数据成员的访问
多态性与虚函数
2.5 静态成员函数的调用
2.6 类的内嵌对象成员
2.7 类对象数组
3. 友元(要求掌握和综合应用)
3.1 友元的作用和定义
3.2 友元的种类
        3.2.1 友元函数
        3.2.2 友元成员
        3.2.3 友元类
3.3 友元的应用
第四章 编译多态性(重载)        (教材第9章)
(一)课程内容
1. 静态多态性的概念和重要性;
2. 函数重载的概念和实现方法;
3. 运算符重载的概念和实现方法(成员运算符、友元运算符的实现方法和两种运算符重载的异同点);
4. 几种重要的运算符++、--、=、()、[ ]、new、delete的重载;
5. 类型转换和类类型转换函数(运算符)。
(二)学习的目的与要求
      深刻理解多态性的概念,熟练掌握实现静态多态性的方法。
(三)考核的知识点与考核要求
1. 多态性的概念(要求掌握和识记)
1.1 编译时的多态性 —— 函数重载和运算符重载
2. 函数重载(要求掌握和综合应用)
2.1 构造函数的重载
2.2 类成员函数的重载
2.3 类外一般函数的重载
3. 运算符重载(要求掌握和综合应用)
3.1 使用成员函数重载运算符
3.2 使用友元函数重载运算符
3.3 两种运算符重载的比较
3.4 几种重要的运算符重载(++、--、[]、()、new、delete、=)
4. 类型转换(要求掌握和综合应用)
4.1 一般数据类型间的类型转换
4.2 通过构造函数进行类类型转换(隐含转换和防止隐含转换)
4.3 类类型转换函数
第五章 派生类与继承    (教材第11章)
(一)课程内容
1. 为什麽使用继承;
2. 单一继承的概念和派生类的构造和使用;
3. 多重继承的概念和派生类的构造和使用;
4. 派生类的构造函数和析构函数;
5. 派生类中的基类成员的访问权限;
6. 虚基类的概念、构造和使用。
(二) 学习的目的与要求
深刻理解类的继承概念,熟练掌握类的派生方法。
(三) 考核的知识点与考核要求
1. 派生类的概念
1.1 引入继承的必要性(要求理解和领会)
1.2 私有、保护、公有方式派生类的定义方法(要求掌握和综合应用)
1.3 三种方式的派生类对基类的(私有、保护、公有)成员的访问权(要
求掌握和综合应用)
1.4 派生类的构造函数和析构函数(要求掌握和综合应用)
        1.4.1 构造函数和析构函数的定义
        1.4.1 派生类对象创建中基类和派生类构造函数和析构函数的调用
顺序
2. 派生类对基类成员的继承
2.1 如何访问基类的私有成员(要求掌握和综合应用)
2.2 通过访问域声明调整私有派生类中基类的保护和公有成员的访问域
(要求掌握和识记)
3. 多继承(要求掌握和识记)
4.1 多继承的概念和定义
4.2 多继承的构造函数和析构函数的定义和调用顺序
4.3 虚基类引入的必要性和定义方法
第六章 运行多态性(虚函数)        (教材第12章)
(一)课程内容
1. 动态多态性的概念和重要性;
2. 虚函数的概念、实现机制和实现方法;
3. 纯虚函数及抽象类的概念和实现方法。
(二)学习的目的与要求
    进一步理解多态性的概念,熟练掌握实现动态多态性的方法。
(三)考核的知识点与考核要求
1.     多态性的概念(要求掌握和识记)
1.1 运行时的多态性 —— 虚函数
2.虚函数(要求掌握和综合应用)
2.1 对象指针的定义和使用
2.2 动态多态性的需要和引入虚函数的必要性
2.3 虚函数的定义方法和使用
3.抽象类(要求掌握和综合应用)
3.1 纯虚函数与抽象类
4. 2抽象类的使用和纯虚函数多态性的体现
第七章 类属与模板        (教材第13章)
(一)课程内容
1. 类属概念和类属编程;
2. 模板的概念;
3. 函数模板与模板函数;
4. 类模板与模板类。
(二)学习的目的与要求
    深刻理解类属和模板的概念,掌握模板的使用方法以及函数模板和类模板的定义和使用。
(三)考核的知识点与考核要求
1. 类属(要求理解和领会)
1.1 引入类属编程的必要性
1.2 C++的类属表编程
1.3 从类属表中导出栈和队列
2. 模板
2.1 模板的概念(要求掌握和识记)
2.2 函数模板和模板函数(要求掌握和综合应用)
2.3 类模板和模板类(模板实例和模板派生)(要求掌握和综合应用)
利用模板工具实现的类属机制实例(栈、队列和数组)(要求掌握和综合应用)
第八章 C++I/O流类库

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