全部课程 >面向对象程序设计    Object-Oriented Programming

课程基本信息

课程编码:05B20040

课程类别:未设置

先修课程:计算机程序设计基础

适用专业:计算机类专业

开课院部:计算机科学与工程学院

课程负责人:张俊

课程展示


课程简介

  面向对象程序设计是软件工程领域的主流软件开发方法。它集封装性、继承性和多态性于一体,可以帮助人们开发出模块化、抽象程度高,具有良好的可复用性、可扩充性的软件。本课程主要介绍面向对象程序设计的思想方法和C++程序设计语言,其中C++语言是工具载体,面向对象方法是应用主线。通过课程教学、上机实践、作业练习、综合设计等教学环节,使学生逐步掌握C++语言和面向对象方法,并能在实践中熟练应用所掌握的工具和方法解决实际问题,从而培养和提高学生良好的程序设计技能和专业实践能力。

  Object-Oriented Programming (OOP) is the mainstream methodology of software development in the field of software engineering. OOP integrates encapsulation, inheritance and polymorphism, and help to develop software of good modular, high abstraction, flexible reusability and scalability. This course mainly introduces the methods of object-oriented programming and C++ programming language, and C++ language used as a tool, the object oriented methodology as the main thread of application. By means of teaching, programming practice, homework and exercises, comprehensive design, this course aims to help students to master the C + + language and object oriented method gradually, and to use programming tools and skills to solve practical problems, therefore to cultivate and enhance students' abilities of programming and professional practice.

课程教学要求

序号

专业毕业要求

课程教学要求

关联程度

1

工程知识



 



 

2

问题分析

应用面向对象程序设计的基本思想,分析问题域及其需求,能够抽象出有效表达问题的对象模型(即数据类型)。

H

3

设计/开发解决方案

根据对象模型,合理设计基于类的数据类型描述客观事物及其概念,并应用类及其方法求解较复杂的工程问题。

H

4

研究



 



 

5

使用现代工具

熟练使用C++环境和工具,合理选用STL和boost等现代程序库,提高程序开发效率。

M

6

工程与社会



 



 

7

环境和可持续发展



 



 

8

职业规范

遵守编码规范和职业道德,具有良好的职业操守。

M

9

个人和团队

具有良好的协作能力,在团队开发中发挥作用。

L

10

沟通

具有良好的交流能力,应用面向对象思想和方法有效地表达思维和过程。

L

11

项目管理

应用面向对象方法进行基本的代码重用和项目管理。

L

12

终身学习

通过学习C++语言,掌握面向对象编程语言的基本特点,在职业发展中能够自主地、持续学习新技术和新工具。

M

注:“课程教学要求”栏中内容为针对该课程适用专业的专业毕业要求与相关教学要求的具体描述。“关联程度”栏中字母表示二者关联程度。关联程度按高关联、中关联、低关联三档分别表示为 “H”“M”或“L”。“课程教学要求”及“关联程度”中的空白栏表示该课程与所对应的专业毕业要求条目不相关。

课程教学内容

章节

名称

主要内容

重难点关键词

学时

类型

C++语言基础

1.程序设计基础

2.函数与引用,C++四种新的函数机制

3.基本的数据结构:数组、指针与字符串

4.结构类型与自定义类型

1.基本数据类型与基本运算

2.引用型参数

3.自定义类型

4

理论讲授、讨论

类与对象的定义

1.面向对象的基本概念

2.类的定义与对象的定义

3.类的复合

4.类成员指针

1.三大特性

2.构造函数、析构函数等

3.对象成员

8

理论讲授、习题

类的几个主题

1.this指针的用法

2.const关键字的用法

3.new/delete与内存动态管理

4.friend函数与friend类

5.static成员

1.const成员函数

2.堆对象与深复制

3.friend函数

4.static数据成员

2

理论讲授

运算符重载

1.运算符重载的基本概念

2.运算符重载的两种形式

3.常用运算符的重载

1.运算符函数

2.算术运算、关系运算、流运算等常用运算符的重载

4

理论讲授

模板

1.函数模板

2.类模板

1.模板的定义与实例化

4

理论讲授

标准模板库STL

1.标准模板库的基本概念

2.常用函数对象与算法

3.常用STL容器

1.算术运算类函数对象和关系运算类函数对象

2.STL算法

3.vector、list、string等容器

2

理论讲授

继承与派生

1.继承的基本概念

2.继承方式与访问控制

3.派生类对象的构造与析构

4.单继承的典型应用

5.赋值兼容规则

6.多继承与虚拟继承

1.继承与复合

2.public继承

3.成员初始化列表语法

4.赋值兼容规则

4

理论讲授、习题

虚函数与多态性

1.动态绑定的概念

2.虚函数的定义及其应用

3.多态性的概念及特点

4.纯虚函数及抽象类的概念及应用

1.虚函数

2.多态性

3.纯虚函数

2

理论讲授

C++的I/O流

1.C++中I/O流的概念

2.标准I/O流的方法与函数

3.格式化I/O的标志位、算子和函数

4.文件I/O流的方法与函数

5.字符串I/O流的方法与函数

6.流的错误状态及错误处理

1.标准I/O流

2.文件I/O流

3.格式化I/O

4

理论讲授

异常处理

1.异常处理的基本概念

2.C++的异常处理机制与规则

1.throw语句

2.try/catch语句

3.标准异常库

2

理论讲授

结构化程序设计

1.VC++集成开发环境的程序开发过程;

2.C++的输入/输出、流程控制、函数、结构等;

3.STL常用算法;

4.综合应用结构化程序设计思想和方法解决常见问题;

1.程序设计基础

2.STL基本算法

3.结构化的程序设计思想和方法

4

上机实验

类的定义及应用

1.类定义的语法;

2.构造函数和析构函数的定义;

3.几个关键字的用法:this、const、new/delete、friend

4.综合应用类的封装性解决常见问题;

1.类与对象的定义及应用

2.常用关键字的用法

6

上机实验

基于对象程序设计

1.常用运算符的重载语法和形式;

2.函数模板的定义及类模板的实例化;

3.STL常用容器、迭代器;

4.综合应用基于对象程序设计方法解决常见问题;

1.运算符重载

2.函数模板

3.常用STL容器

4.基于对象的程序设计思想和方法

4

上机实验

面向对象程序设计

1.继承的概念及语法;

2.虚函数和纯虚函数的语法及应用;

3.C++的I/O流实现数据的读写操作;

4.C++的异常处理机制;

5.综合应用面向对象程序设计方法解决常见问题;

1.虚函数和纯虚函数

2.标准流和文件流

3.异常处理

4.面向对象的程序设计思想和方法

6

上机实验(综合型)

考核要求及成绩评定

序号

成绩类别

考核方式

考核要求

权重(%)

备注

1

期末成绩

期末考试

笔试闭卷

100%

百分制,60分及格

2

平时成绩

平时表现

上课上机出勤



 

缺勤3次则无法获得学分

3

作业

5次



 

检查重点内容的掌握情况:函数和函数模板、类和构造函数、继承、虚函数、文件流

4

实验报告

4次



 

检查四个实验项目的完成及相关知识的掌握情况

5

期中考试

笔试闭卷



 

考试题型与期末考试相同

注:此表中内容为该课程的全部考核方式及其相关信息。

学生学习建议

一、学习方法建议

本课程在教学实践中需要同时注重面向对象的基本概念、语法规则、设计方法和工具环境的理解和应用。学生在学习过程中需要注意下列3个方面的结合:

1.理论与实践相结合。准确理解面向对象方法的基本概念和C++语言的语法规则,并勤于在Visual C++环境中编程实践以求熟练应用。

2.语法与程序相结合。结合具体程序实例理解和运用语法规则,注重分析语法规则在程序中的表现形式。

3.实例与项目相结合。结合课堂教学和课本上的程序实例所示范的知识点典型应用,能够举一反三,完成比较综合的上机实验项目。

本课程上机实验建议采用Visual C++ 2005(或不低于该版本)作为实验环境。



 

二、学生课外阅读参考资料

【1】Stanley B. Lippman, Josée Lajoie Barbara E. Moo著.李师贤等译. C++ Primer中文版, 第4版. 北京: 人民邮电出版社, 2006.3.

【2】Paul Deitel, Harvey Deitel. C++ How to Program, Seventh Edition.Pearson Education Inc., 2010.

【3】Bruce Eckel, Chuck Allison著, 刁成嘉等译. C++编程思想, 第1卷:标准C++引导. 北京: 机械工业出版社, 2006.1.

【4】Bruce Eckel, Chuck Allison著, 刁成嘉等译. C++编程思想, 第2卷: 实用编程技术. 北京: 机械工业出版社, 2006.1.

【5】Bjarne Stroustrup. The C++ Programming Language, Third Edition. Addison-Wesley Publishing Company, 1997.

【6】Nicolai M. Josuttis著. 侯捷, 孟岩译. C++标准程序库. 武汉: 华中科技大学出版社, 2002.9.

课程改革与建设

本课程为校级精品课程。在课程建设方面,应注重运用现代教育技术和信息技术加大课程建设力度,切实发挥各类精品资源和平台在教学实践中的作用,引导学生自主学习,提高学生的编程实践能力。在课程改革方面,建议加大考试改革力度,注重日常编程能力的养成训练,加大对该部分训练的考查和对结果的评价运用。

课程文档下载

课程大纲下载         课程历年试题下载         课程教学日历下载         

课程其它文档下载

本站 所有信息归:武汉工程大学教务处 版权所有 鄂ICP064787

技术支持: 北京文华在线教育科技股份有限公司    建议在IE8以上浏览器1024*768分辨率下浏览本站