当前位置:文档之家› 《面向对象程序设计》教学大纲

《面向对象程序设计》教学大纲

《面向对象程序设计》教学大纲
《面向对象程序设计》教学大纲

面向对象程序设计教学大纲西北民族大学数学与计算机科学学院

制定的时间:二〇一二年五月

面向对象程序设计教学大纲

一、课程基本资料

主讲教师:曹永春、蔡正琦、顿毅杰

主教材:《C++面向对象程序设计》中国铁道出版社,陈维兴、林小茶编著,第2版,2009

辅助教材:

1.《C++编程思想》机械工业出版社,美Bruce Eckel,Chuck Alliso著,刘宗田,袁兆山,潘秋菱等译; 第1版,2011年

2. 《C++程序设计教程》机械工业出版社,美H.M.Deitel P.J.deitel 薛万鹏等译,2000年

3.《C++程序设计语言》,机械工业出版社,美Bjarne Stroustrup 著,裘宗燕译,2005年

4.《C++面向对象程序设计习题解析与上机指导》清华大学出版社,陈维兴主编,第2版,2009年

实验教材及参考书:

同上

课程性质:学科选修课

学分:4分

课时:72学时,其中理论课54学时,上机实验18学时

先修课程:计算机导论、C语言程序设计

课程结构:多媒体教学,课堂讨论、课内实验、课后作业

评价方案:(考核依据、评分的办法、权重的分布)

?平时成绩:10% 课堂表现(课堂提问、考勤、作业等)

?实验成绩:20%(实验报告、实验考试)

?期中成绩:20%(闭卷考试)

.期末成绩:50%(闭卷考试)

参考书目:

名称编著者出版社出版年月《C++编程思想》刘宗田,袁兆山,潘

机械工业出版社2011年

秋菱等译

机械工业出版社2000年

《C++程序设计教程》H.M.Deitel, P.J.deitel

著,薛万鹏等译

《C++程序设计语言》Bjarne Stroustrup

机械工业出版社2005年

著,裘宗燕译

陈维兴主编清华大学出版社2009年

《C++面向对象程序设计

习题解析与上机指导》

推荐刊物:

1、《计算机学报》

2.《软件学报》

3.《程序员杂志》

4.《码农周刊》

5.《快乐码农》

相关网站:

1. 中国计算机学会https://www.doczj.com/doc/468541183.html,/sites/ccf/

2. 计算机爱好者协会https://www.doczj.com/doc/468541183.html,/forum.php

3.C语言中文网https://www.doczj.com/doc/468541183.html,/cpp

5.中国悠悠期刊网https://www.doczj.com/doc/468541183.html,/

6. 中国知网https://www.doczj.com/doc/468541183.html,/

文献

1.谭浩强.C程序设计.第4版.北京:清华大学出版社,2010

2.陈伟兴,林小茶.C++面向对象程序设计.北京:清华大学出版社,2000

3.陈伟兴,陈昕.C++面向对象程序设计习题解析与上机指导. 北京:清华大学出版

社,2003.

4.Ravi Sethi.Programing Languaes:concepts and constracts.Addison-Wesley Publishing

Company,1996.

5.Ronaad J.Norman ,Object-Oriented Systems and Ddesign,199

6.

6.郑莉,董源.C++语言程序设计.第2版.北京:清华大学出版社,2001.

7.王燕.面向对象的理论与C++实践.北京:清华大学出版社,1997.

8.张海藩,牟永敏.面向对象程序设计实用教程. 北京:清华大学出版社,2001.

9.张国峰.C++语言及其程序设计教程. 北京:电子工业出版社,1997.

二、教学目标、组织形式、考核要求

素质、知识和能力目标目标要求及相

应的课程

教与学的

方法

评定的方法

一、思想道德与职业素质目标

1.遵纪守法,树立科学的世界观、人生观、价值观和社会主义荣辱观。

2.具有良好的思想品德、人文社会科学素养、社会公德和职业道德。

3.了解与信息技术相关的职业和行业的政策和法律、法规,具有较强的法制意识和素养。

4.树立终身学习观念,认识到持续自我完善的重要性,不断追求卓越。

5.具备良好的科学态度、团队协作精神和创新意识。7.具有健全的人格、健康的体魄,较强的国防意识。4.树立终身学习观

念,认识到持续自

我完善的重要性,

不断追求卓越。

5.具备良好的科学

态度、团队协作精

神和创新意识。

1、课外兴趣开

发;

2、阅读相关资

料;

3、关注技

术领域新发展。

提交的作品

或报告

二、知识目标

1.具有一定的人文社会科学知识。

2.掌握与专业相关的数学、自然科学知识以及一定的经济学和管理学知识。

3.掌握电工和电子技术必要的基本理论、基本知识和基本技能。

4.掌握计算机的系统与结构、基本组成原理和内部工作机制。

5.掌握计算机程序

设计的基础知识

和基本方法。

1.通过课堂授课

(理论授课、课

堂演示、课外作

业);

2.课内实验

1.理论考试;

2.课堂提问、

讨论与课外

作业;

3.实验考试;

4.教师听课

意见反馈。

5.掌握计算机程序设计的基础知识和基本方法。

6.掌握操作系统基本知识、原理,具备操作系统设计和应用的知识。

7.掌握计算机网络及应用知识,具备网络系统设计和网络应用的知识。

8.掌握信息处理的基本理论、基本方法,具备息管理系统设计和开发的知识。

9.掌握数据结构及算法设计与分析的基本知识、基本方法及在相关领域中的实际应用。

10.掌握以系统性的、规范化的、可定量的过程化方法去开发和维护软件系统。

11.掌握计算机图形图像处理的基本知识、基本技术和方法。

12.掌握嵌入式的相关知识和方法。

三、能力目标

1.具有运用工程工作所需的相关数学、自然科学以及经济和管理知识的能力。

2.掌握计算机学科的基本思维方法,并能运用工程基础知识和本专业的基本理论知识解决问题的能力。

3.掌握设计和实施工程实验的方法,具备一定的工程实践能力。

4.掌握基本的创新方法,具有综合运用专业知识和技术手段进行系统开发的能力。

5.掌握文献检索、资料查询及运用现代信息技术获取相关信息的基本方法。

6.具有一定的组织管理能力、表达能力和人际交往能力以及在团队中发挥作用的能力。

7.对终身学习有正确的认识,具有不断学习和适应发展的能力。

8.具有一定的外语应用能力,具有阅读本专业外文文献的能力。2.掌握计算机学科

的基本思维方法,

并能运用工程基

础知识和本专业

的基本理论知识

解决问题的能力。

5.掌握文献检索、

资料查询及运用

现代信息技术获

取相关信息的基

本方法。

7.对终身学习有正

确的认识,具有不

断学习和适应发

展的能力。

1.通过课堂授课

(理论授课、课

堂演示、课外作

业);

2.课内实验

1.理论考试;

2.课堂提问、

讨论与课外

作业;

3.实验考试。

三、学习建议与要求

1.做好课前预习,查阅相关知识。

2.课间认真听讲,对教师讲解内容融会贯通,举一反三。

3.认真完成课后作业。

4.在讨论和提问中巩固理论知识,学习编程思维。

四、教学内容概要

学时分配

各章节内容理论实验总时数面向对象程序设计概述 3 3

C++基础7 2 9

类和对象(一) 11 2 13

类和对象(二) 8 2 10

继承与派生类 6 2 8

多态性与虚函数 6 2 8

运算符重载 5 2 7

模板 3 2 5

C++的输入和输出 5 4 9

合计54 18 72

五、正文

第一章面向对象程序设计概述

教学要点:

面向对象的基本概念和典型的语言

教学时数:3学时

教学内容:

2.1什么是面向对象程序设计

2.1.1新的程序设计范型

2.1.2面向对象程序设计的基本概念

2.1.3 面向对象程序设计的基本特征

2.2什么要使用面向对象程序设计

2.2.1传统程序设计方法的局限性

2.2.2 面向对象程序设计的主要优点

2.3面向对象程序设计的语言

2.3.1面向对象程序设计语言的发展概况

2.3.2几种典型的面向对象程序设计语言

授课方式:多媒体教学,课堂讨论、课内实验、课后作业

考核要求:

领会和理解面向对象程序设计的4个基本概念:对象、类、消息和方法,理解面向对象程序设计的4个基本特征,了解几种典型的面向对象程序设计语言。

第二章C++基础

教学要点:

了解C++的产生和特点,理解C++程序的结构特性,C++程序的编辑、编译、连接和运行操作,掌握C++在非面向对象方面的扩充。

教学时数:7学时

教学内容:

2.1C++的产生和特点

2.1.1C++的产生

2.1.2C++的特点

2.2C++程序的结构特性

2.2.1一个简单的C++示例程序

2.2.2 C++程序的结构特性

2.2.3 C++程序的编辑、编译和运行

2.3C++程序的编辑、编译、连接和运行

2.4C++在非面向对象方面的扩充

2.4.1注释与续行

2.4.2输入输出流

2.4.3灵活的变量说明

2.4.4结构、联合和枚举名

2.4.5函数原型

2.4.6 const 修饰符

2.4.7 void 型指针

2.4.8 内联函数

2.4.9带有缺省参数值的函数

2.4.10函数重载

2.4.11作用域标识符::

2.4.12无名联合

2.4.13强制类型转换

2.4.14 new 和delete

2.4.15引用

授课方式:多媒体教学,课堂讨论、课内实验、课后作业

考核要求:

了解C++的结构特性,熟练掌握并能综合应用C++在非面向对象方面扩充的应用内容。

第三章类和对象(一)

教学要点:

理解类和对象的概念,熟练掌握类和对象的定义、构成和使用。重点掌握类成员的访问属性及其使用和构造函数的定义和应用。

教学时数:11学时

教学内容:

3.1类的构成

3.1.1从结构到类

3.1.2类的构成

3.2成员函数的定义

3.3对象的定义和使用

3.3.1类与对象的关系

3.3.2对象的定义

3.3.3对象中成员的访问

3.3.4类的作用域和类成员的访问属性

3.3.5对象赋值语句

3.4构造函数与析构函数

3.4.1构造函数

3.4.2成员初始化表

3.4.3带默认参数的构造函数

3.4.4析构函数

3.4.5默认的构造函数和默认的析构函数

3.4.6重载构造函数

3.4.7拷贝构造函数

3.4.8浅拷贝和深拷贝

授课方式:多媒体教学,课堂讨论、课内实验、课后作业

考核要求:

类的构成,对象的定义及使用、成员函数、构造函数与析构函数等内容的相关知识及面向对象初步的编程方法。

第四章类和对象(二)

教学要点:

进一步理解和掌握类和对象的相关内容,包括this指针的概念、对象数组、对象指针、string类、友元、静态成员以及类的组合、共享数据的保护等内容。

教学时数:8学时

教学内容:

4.1自引用指针this

4.2对象数组与对象指针

4.2.1对象数组

4.2.2对象指针

4.2.3 string类

4.3向函数传递对象

4.3.1使用对象作为函数参数

4.3.2使用对象指针作为函数参数

4.3.3使用对象引用作为函数参数

4.4静态成员

4.4.1静态数据成员

4.4.2静态成员函数

4.4.3通过普通指针访问静态成员

4.5友元

4.5.1友元函数

4.5.2友元类

4.6类的组合

4.7共享数据的保护

4.7.1常引用

4.7.2常对象

4.7.3常对象成员

4.8C++程序的多文件组成

授课方式:多媒体教学,课堂讨论、课内实验、课后作业

考核要求:

领会并能应用this指针、掌握对象数组的定义及初始化方式、对象指针的概念及应用、静态成员的作用及定义和使用方式,友元函数和友元类的定义和使用,类的组合编程及对象成员的初始化方法等概念和编程方法。

第五章继承与派生类

教学要点:

熟练掌握派生类定义方式和基类成员在派生类中的访问规则、掌握派生类的构造函数和析构函数的执行顺序和构造规则、理解多继承和虚基类的概念,并能应用于编程、深入理解赋值兼容规则。

教学时数:6学时

教学内容:

5.1继承与派生类的概念

5.1.1为什么要使用继承

5.1.2派生类的声明

5.1.3基类成员在派生类中的访问属性

5.1.4派生类对基类成员的访问规则

5.2派生类的构造函数和析构函数

5.2.1派生类构造函数和析构函数的调用顺序

5.2.2派生类构造函数和析构函数的构造规则

5.3调整基类成员在派生类中的访问属性的其它方法

5.3.1同名成员

5.3.2访问声明

5.4多继承

5.4.1多继承的声明

5.4.2多继承的构造函数与析构函数

5.4.3虚基类

5.4.4赋值兼容规则

授课方式:多媒体教学,课堂讨论、课内实验、课后作业

考核要求:

熟练掌握派生类定义方式和基类成员在派生类中的访问规则、掌握派生类的构造函数和析构函数的执行顺序和构造规则、理解多继承和虚基类的概念,并能应用于编程、深入理解赋值兼容规则。

第六章多态性与虚函数

教学要点:

理解多态性概念,区分编译时的多态和运行时的多态及在C++中的实现方法、重点学习C++中实现运行时多态的方法虚函数,掌握虚函数的作用和定义方法并能够熟练使用,理解纯虚函数和抽象类的概念及定义和使用。

教学时数:6学时

教学内容:

6.1多态性概述

6.2虚函数

6.2.1虚函数的引入

6.2.2虚函数的作用和定义

6.2.3虚函数与重载函数的关系

6.2.4多继承与虚函数

6.2.5虚函数举例

6.3纯虚函数和抽象类

6.3.1纯虚函数

6.3.2抽象类

授课方式:多媒体教学,课堂讨论、课内实验、课后作业

考核要求:

深入理解多态性概念,掌握虚函数的作用和定义方法并能够熟练使用,理解纯虚函数和抽象类的概念及定义和使用。

第七章运算符重载

教学要点:

理解运算符重载的含义,掌握运算符重载函数的定义和使用方式,区别友元运算符重载和成员运算符重载两种运算符重载函数的定义方法及相应的调用方法、了解几种常见运算符含义及重载方式、掌握标准类型间的转换。

教学时数:5学时

教学内容:

7.1运算符重载

7.2运算符重载函数的两种形式

7.2.1友元运算符重载函数

7.2.2成员运算符重载函数

7.2.3运算符重载应该注意的几个问题

7.3几个常用运算符的重载

7.3.1单目运算符“++”和“——”的重载

7.3.2赋值运算符“=”的重载

7.4重载插入运算符和提取运算符

7.4.1重载插入运算符

7.4.2重载提取运算符

7.5类型转换

7.5.1标准类型间的转换

授课方式:多媒体教学,课堂讨论、课内实验、课后作业

考核要求:

理解运算符重载的含义,掌握运算符重载函数的定义和使用方式,区别友元运算符重载和成员运算符重载两种运算符重载函数的定义方法及相应的调用方法、了解几种常见运算符含义及重载方式、掌握标准类型间的转换。

第八章模板

教学要点:

理解模版的概念,掌握函数模板及其声明方法,掌握模板函数及其生成方法,学习类模板的声明与使用方法,区分函数模板和类模板的定义及使用。

教学时数:3学时

教学内容:

8.1模板的概念

8.2函数模板与模板函数

8.2.1函数模板的声明

8.2.2函数模板的使用

8.3类模板与模板类

8.4程序举例

授课方式:多媒体教学,课堂讨论、课内实验、课后作业

考核要求:

理解模版的概念,掌握函数模板及其声明方法,掌握模板函数及其生成方法,学习类模板的声明与使用方法。

第九章C++的输入和输出

教学要点:

熟悉流及流类库的作用,熟练掌握流类库中常用的类及其成员函数的使用方法,掌握重载“<<”和“>>”的方法。掌握文本文件的打开、关闭及输入输出方法和二进制文件的打开、关闭及输入输出方法。

教学时数:5学时

教学内容

9.1C++为何建立自己的输入输出系统

9.2C++流库及其基本结构

9.2.1 C++的流

9.2.2预定义的流对象

9.2.3输入输出流的成员函数

9.3预定义类型输入输出的格式控制

9.3.1用流成员函数进行输入输出格式控制

9.3.2使用预定义的操纵符进行输入输出格式控制

9.3.3使用用户自定义的操纵符进行输入输出格式控制

9.4文件的输入输出

9.4.1文件的概述

9.4.2文件的打开与关闭

9.4.3文件的读写

9.4.4二进制文件的读写

9.4.5程序举例

授课方式:多媒体教学,课堂讨论、课内实验、课后作业

考核要求:

流类库中常用的类及其成员函数的使用方法,掌握控制输出宽度的函数width()和setw(),掌握函数setionsflags()和resetonflags(),会设置和恢复对齐方式、精度、大小写、进制等。掌握文本文件的打开、关闭及输入输出方法和二进制文件的打开、关闭及输入输出方法。

《面向对象程序设计》课程实验教学大纲

1.实验课名称:面向对象程序设计

2.实验课性质:本课程是计算机科学与技术专业的专业选修课

3.实验教学目的与基本要求:

《面向对象程序设计》是一门实践性很强的专业基础课。开设本实验的目的是使学生掌握C++面向对象程序设计的基本知识和编程方法。结合实际教学过程,通过实验操作让学生进一步加深对所学知识的深入理解和综合应用能力。通过上机编程练习,让学生学会面向对象程序设计的方法与技术,同时培养学生的面向对象程序设计的思想。

4.适用专业:计算机科学与技术专业(本科)

5. 采用教材:主编:陈维兴

教材名称:《C++面向对象程序设计》

出版社:中国铁道出版社

出版日期:2009年

6.学时学分:

(1)课程总学时:72 (2)课程总学分:4

(3)实验课总学时:18 (4)实验课总学分:1

7. 实验项目名称和学时分配

序号 实验项目名称

学时数

项目类别 项目类型 1 C++基础练习 2 设计 必做 2 C++简单程序设计练习 2 设计 必做 3 类与对象(一) 2 设计 必做 4 类与对象(二) 2 设计 必做 5 派生类与继承 2 设计 必做 6 虚函数与多态性 2 设计 必做 7 函数模板与类模板 2 设计 选做 8 输入输出的格式控制 2 设计 必做 9 文件的输入与输出 2 设计 必做 10

综合练习

4

综合

选做

8. 单项实验的内容和要求

实验一 C++基础知识

【实验内容】

① 编写一个简单程序,输出“welcome you”,并给程序加一行注释

“Fist c++ program”;

② 编写一个完整的包含求解

54x 2x 2++的值,x 为整数,并用主函数调用该函数;

③ 利用重载函数,重载上面的函数,x 为浮点数;

④ 编写一个程序,对一个整数数组求和,结果使用内部变量sum 存储,同时对整数中的奇数求和,结果使用内部变量sum 存储,在主程序中将两个结果输出。本题要求体会和理解作用域运算符的概念和基本使用方法;

⑤编写一个程序动态分配一个浮点空间,输入一个数到该空间中,计算以

该书为半径的圆的面积并在屏幕上显示,最后释放该空间,请使用new、delete 运算符;

【实验要求】

①认真阅读和掌握和本实验相关的教材内容;

②按要求编写程序;

③上机运行程序;

④保存和打印出程序的运行结果,并结合程序进行分析;

⑤将最终程序报盘。

实验二C++简单程序设计练习

【实验内容】

①编程要求3~100之间的所有素数;

②编程列出斐波那契(Fibonacci)数列的前20项。分别用迭代和数组方法

编程;

③输入100个素数,从小到大排列并输出。

【实验要求】

①认真阅读和掌握和本实验相关的教材内容;

②按要求编写程序;

③上机运行程序;

④保存和打印出程序的运行结果,并结合程序进行分析;

⑤将最终程序报盘。

实验三类与对象(一)

【实验内容】

①定义一个时间类,时间类中有3个私有数据成员(Hour、Minute、second)

和两个公有成员函数(SetTime和Print_time).SetTime根据传递的3个参

数为对象设置时间;Print_Time负责将对象表示的时间显示输出。一个时

间类的对象,设置时间为9点20分30秒并显示该时间。

②使用构造函数代替上面的SetTime成员函数,并在主函数中使用构造函数

设置时间为10点40分50秒,并显示该时间;

③重载时间类的构造函数(不带参数)使市、分、秒均为0;

④在时间类的析构函数中输出“Good Bye!”;

⑤定义拷贝构造函数并调用;

⑥定义一个类Stock,记录一支股票交易的基本信息,信息包括交易日序号

(表示本月的第几个交易日,用整数表示)、当日最高价、当日最低价、当日开盘价和当日收盘价。尽量发挥想象力,为该类设计成员函数;

⑦在主函数中建立两个股票对象,分别存储该股票昨天和今天两天的信息,

以当日收盘价计算该股票今天的涨幅。

【实验要求】

①认真阅读和掌握和本实验相关的教材内容;

②按要求编写程序;

③上机运行程序;

④保存和打印出程序的运行结果,并结合程序进行分析;

⑤将最终程序报盘。

实验四类与对象(二)

【实验内容】

①使用实验3中的股票类Stock,定义一个对象数组存放连续5个交易日的

股票信息。编写一个主函数,计算两个Stock对象(前后两日)的当日收盘价计算当日涨幅。用指针引用对象数组中的两个对象。在主函数中调用该函数计算从第2个交易日开始每天的涨幅;

②在Stock类中定义一个静态数据成员,记录当前Stock对象的数量;

③设计一个成员函数Assign_Stock为对象赋值,其中的形式参数是对另一

个Stock对象的引用,使用this指针避免对自己的赋值,在主函数中显示用Assign_Stock赋值的对象;

面向对象程序设计教程 (马石安版)

第1章习题答案 名词解释 抽象:抽象(Abstract)就是忽略事物中与当前目标无关的非本质特征,而强调与当前目标有关的本质特征,从而找出事物的共性,并把具有共性的事物划为一类。面向对象方法中的抽象,是指对具体问题(对象)进行概括,抽出一类对象的公共性质并加以描述的过程。 封装:面向对象方法中的封装就是把将抽象出来的对象的属性和行为结合成一个独立的单位,并尽可能隐蔽对象的内部细节。 消息:消息是面向对象程序设计用来描述对象之间通信的机制。一个消息就是一个对象要求另一个对象实施某种操作的一个请求。 填空题 (1) 面向过程的结构化程序设计方法面向对象程序设计方法 (2) 顺序选择循环 (3) 程序=数据结构+算法程序=对象+消息 (4) 过程类 (5) 抽象性封装性继承性多态性 选择题 (1) B (2) C (3) D (4) C (5) D (6) A (7) A (8) B C (9) A D 判断题 (1) t (2) f (3) f (4)f (5) t (6) f (7) f (8) t 简答题 (1) 结构化程序设计方法着眼于系统要实现的功能,从系统的输入和输出出发,分析系统要做哪些事情,进而考虑如何做这些事情,自顶向下地对系统的功能进行分解,来建立系统的功能结构和相应的程序模块结构,有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。 随着程序规模与复杂性的增长,这种面向过程的结构化程序设计方法存在明显的不足之处。首先是数据安全性问题,由于数据被每个模块所共用,因此是不安全的,一旦出错,很难查明原因。其次是可维护性及可重用性差,它把数据结构和算法分离为相互独立的实体,一旦数据结构需要改变时,常常要涉及整个程序,修改工作量极大并容易产生新的错误。每一种相对于老问题的新方法都要带来额外的开销。另外,图形用户界面的应用程序,很难用过程来描述和实现,开发和维护也都很困难。 (2) 面向对象的程序设计方法中,将程序设计为一组相互协作的对象(Object)而不是一组相互协作的函数。在程序中,属性用数据表示,用来描述对象静态特征;行为用程序代码实现,用来描述对象动态特征。可见,在面向对象的程序设计方法中,对象是数据结构和算法的封装体。对象之间存在各种联系,它们之间通过消息进行通信。程序可表示为: 程序=对象+消息 在面向对象程序设计中,它着重于类的设计。类正是面向对象语言的基本程序模块,通过类的设计,来完成实体的建模任务。类通过一个简单的外部接口,与外界发生关系。一个类中的操作不会处理到另一个类中的数据,这样程序模块的独立性、数据的安全性就有了良好的保障。程序的执行取决于事件发生的顺序,由顺序产生的消息来驱动程序的执行。不必预先确定消息产生的顺序,更符合客观世界的实际。并且面向对象程序设计方法提供了软件重用、解决大问题和复杂问题的有效途径,具有抽象性、封装性、继承性和多态性等特点。

面向对象程序设计考前复习题及答案

简答题 1、传统的结构化程序设计的优点和缺点是什么? 优点: (1)这种程序设计方法力求算法描述准确。 (2)对每一子过程模块容易进行程序正确性证明。 缺点: (1)这种程序设计方法本质上是面向“过程”的,而“过程”和“操作”又是不稳定和多变的,因此不能直接反映人类求解问题的思路。 (2)程序代码可重用性差。程序中除少数标准库函数外,每设计一个程序时,程序员几乎从零做起。即使重用代码,通常也是通过拷贝或编辑重新生成一份。 (3)维护程序的一致性困难。该种方法将数据与对数据进行处理的程序代码分离。 2、什么是对象? 每个对象都具有属性(Attribute)和方法(Method)这两方面的特征。对象的属性描述了对象的状态和特征,对象的方法说明了对象的行为和功能,并且对象的属性值只应由这个对象的方法来读取和修改,两者结合在一起就构成了对象的完整描述。 3、什么是消息? 在面向对象的程序设计中,由于对象描述了客观实体,它们之间的联系通过对象间的联系来反映。当一个对象需要另外一个对象提供服务时,它向对方发出一个服务请求,而收到请求的对象会响应这个请求并完成指定的服务。这种向对象发出的服务请求就称为消息。4、什么是多态性? 所谓多态性是指当程序中的其他部分发出同样的消息时,按照接收消息对象的不同能够自动执行类中相应的方法。其好处是,用户不必知道某个对象所属的类就可以执行多态行为,从而为程序设计带来更大方便。 5、什么是面向对象的程序设计方法? 这种方法将设计目标从模拟现实世界的行为转向了模拟现实世界中存在的对象及其各自的行为。 在OOP中,将“对象”作为系统中最基本的运行实体,整个程序即由各种不同类型的对象组成,各对象既是一个独立的实体,又可通过消息相互作用,对象中的方法决定要向哪个对象发消息、发什么消息以及收到消息时如何进行处理等。 6、面向对象方法的特点是什么? (1)OOP以“对象”或“数据”为中心。由于对象自然地反映了应用领域的模块性,因此具有相对稳定性,可以被用作一个组件去构成更复杂的应用,又由于对象一般封装的是某一实际需求的各种成分,因此,某一对象的改变对整个系统几乎没有影响。 (2)引入了“类”(class)的概念。类与类以层次结构组织,属于某个类的对象除具有该类所描述的特性外,还具有层次结构中该类上层所有类描述的全部性质,OOP中称这种机制为继承。 (3)OOP方法的模块性与继承性,保证了新的应用程序设计可在原有对象的数据类型和功能的基础上通过重用、扩展和细化来进行,而不必从头做起或复制原有代码,这样,大大减少了重新编写新代码的工作量,同时降低了程序设计过程中出错的可能性,达到了事半功倍的效果。 7、面向对象的程序设计方法与结构化程序设计方法的比较 (1)传统的结构化程序设计方法以过程为中心构造应用程序,数据和处理数据的过程代码是分离的、相互独立的实体,设计出的程序可重用代码少,且当代码量增加时维护数据和代码的一致性困难。

广告设计课程教学大纲

《广告设计》课程教学大纲 课程名称:广告设计 英文名称:Advertising Design 课程类别:专业限选课 课程性质:选修课 总学时:32 讲课学时:20 实验(实践)学时:12 学分:2 适用对象:工业设计 先修课程:色彩静物、设计素描、字体与标志设计、计算机辅助图形图像处理 一、编写说明 (一)制定大纲的依据 遵循大庆石油学院“工业设计”专业的教学大纲。 (二)课程简介 广告设计课程是为培养从事广告设计与实施的应用性人才而设。已成为现代人生活中必不可少的一部分,是现代社会经济活动中重要的组成部分。同时也是一种视觉传递艺术,以形象作为诉求的主导因素,用视觉阐述观点。 (三)课程的地位与作用 广告已成为现代人生活中必不可少的一部分,是现代社会经济活动中重要的组成部分。它是介于社会学、美学与市场营销学边缘的综合性科学,既是一门科学也是一门艺术,随着商品经济的发展将发挥越来越重要的作用。 (四)课程性质、目的和任务 《广告设计》是广告设计与制作专业的主要课程,它以图文为主要内容传递信息,通过此课程可以广泛了解观众的视觉心理欣赏习惯,视觉表述的艺术形式,深入地研究媒体艺术和传播行为,解决视觉美学与创造性思维的问题,并根据市场的发展,要求学生了解广告的运作过程。即从市场调研、企划、创意、媒介流程和国际及本土化广告公司的发展趋势等角度研究如何成为一个全面发展的广告人的问题。 (五)与其他课程的联系 广告设计是以“字体设计”、“版式设计”、“图形创意”、“广告学”等专业基础课为基础。 本课程结束后为学生学习“企业形象设计”、“招贴设计”等打下良好的专业基础。 (六)对先修课的要求 熟练掌握“字体与标志设计”、“计算机辅助图形图像处理”中相关知识。

什么是面向对象程序设计

1 什么是面向对象程序设计,它与传统的结构式程序有什么不同。 面向对象程序设计是一种适用于设计、开发各类软件的范型。它是将软件看成是一个由对象组成的社会:这些对象具有足够的智能,能理解从其他对象接受的信息,并以适当的行为作出响应;允许低层对象从高层对象继承属性和行为。通过这样的设计思想和方法,将所模拟的现实世界中的事物直接映射到软件系统的解空间。 与传统的结构式程序设计相比,面向对象程序设计吸取了结构式程序设计的一切优点(自顶向下、逐步求精的设计原则)。而二者之间的最大差别表现在: ·面向对象程序采用数据抽象和信息隐藏技术使组成类的数据和操作是不可分割的,避免了结构式程序由于数据和过程分离引起的弊病。 · 面向对象程序是由类定义、对象(类实例)和对象之间的动态联系组成的。而结构式程序是由结构化的数据、过程的定义以及调用过程处理相应的数据组成的 2 用面向对象方法建立模型的思维过程是怎样的。 用面向对象方法建立拟建系统的模型的过程就是从被模拟现实世界的感性具体中抽象要解决的问题概念的过程。这种抽象过程分为知性思维和具体思维两个阶段,其中:·知性思维是从感性材料中分解对象,抽象出一般规定,形成了对对象的普遍认识。·具体思维是从知性思维得到出的一般规定中揭示的事物的深刻本质和规律,其目的是把握具体对象的多样性的统一和不同规定的综合。 3 解释以下概念: ①对象:在现实世界中,对象就是可以感觉到的实体。每个对象具有一个特定的名字以 区别于其他对象;具有一组状态用来描述它的某些特性;具有一组操作,每一个操作决定对象的一种功能或行为(为自身服务的操作和为其他对象提供服务的操作)。而在面向对象系统中,对象是可以标识的存储区域。每个对象的状态被保存在此区域中,而实现一类对象行为的操作(代码)被保存在另外相关的存储器区域中。 ②消息:消息是要求某个对象执行其某种功能操作(方法)的规格说明。因此,消息是 由消息的接收者、消息要求提供的操作(消息名)和必要的参数组成的。 ③类:在现实世界中,类是对一组具有共同特性(属性和行为)的客观对象的抽象。而 在面向对象系统中,类是由程序员自定义的具有特定结构和功能的类型,是一种代码共享的手段。 ④实例:任何一个对象都是该对象所属类的一个具体实例。 ⑤公有消息:是由对象外向对象发送的消息,用于激活该对象的某种方法。 ⑥私有消息:是由对象向自身发送的消息,用于内部操作;该类消息不能从对象外向该 对象发送。 ⑦消息序列:在面向对象系统中一个事件的发生总会有多个对象的多次相互作用才能完 成,使得这些对象能够相互作用的消息组成的序列被称为消息序列。 4 类与实例的关系如何? 类是创建对象的模板,而对象是实现类的实例。属于同一类的不同实例必须具有: ·相同的操作集合; ·相同的静态属性集合; ·不同的对象名和属性动态值。

《面向对象程序设计》答案

实验一熟悉VC++IDE开发环境 一、实验目的 1、熟悉VC++6.0集成开发环境,熟练掌握VC++6.0项目工作区、各种编辑器、菜单栏和工具栏的使用。 2、掌握如何编辑、编译、连接和运行一个C++程序。 3、通过运行简单的C++程序,初步了解C++源程序的结构和特点。 二、实验要求 1、分析下列程序运行的结果。 程序一: #include int add(int x,int y=8); void main() { int x=4; cout< void main() { int *p,i; i=5; p=&i; i=*p+10; cout<<"i="< void main(void) { int i=10; int &r=i; r++; cout<<"i="< void func(); int n=1; void main() { static int a; int b= -9; cout <<"a:"<

面向对象程序设计第12章在线测试

《面向对象程序设计》第12章在线测试剩余时间:59:56 答题须知:1、本卷满分20分。 2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。 3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。 第一题、单项选择题(每题1分,5道题共5分) 1、面向对象的程序设计语言必须具备的关键要素是( ) A、抽象和封装 B、抽象和多态性 C、抽象、封装、继承和多态性 D、抽象、封装和继承性 2、封装性应具有的条件是() A、有一个清晰的边界 B、有确定的接口 C、受保护的内部实现 D、以上所有 3、OOD的作用是() A、提取需求 B、逻辑建模 C、求解域建模 D、分析用例 4、按钮与电梯按钮的关系是() A、部分与整体 B、一般与特殊 C、实例连接 D、消息连接 5、面向对象模型不包括() A、静态模型 B、对象模型 C、功能模型 D、动态模型 第二题、多项选择题(每题2分,5道题共10分) 1、部分与整体的关系有()方式 A、组合 B、联合 C、聚合 D、整合

2、对象之间存在的关系包括() A、部分与整体 B、一般与特殊 C、实例连接 D、消息连接 3、关于多态的说法正确的是() A、不同类型的对象接收相同的消息产生不同的行为 B、多态的成员函数需要定义为虚函数 C、在C++中通过基类指针调用虚函数实现多态 D、多态是指对象的多种表现形式 4、关于软件生命周期的说法正确的是() A、开发程序就是直接编码 B、在程序设计之前需要先进行软件设计 C、软件投入使用后软件生命周期结束 D、软件维护也是软件生命周期的一个阶段 5、下面关于面向对象的特征说法正确的是() A、每一个对象都具有唯一的标识 B、任何类的划分都是客观的,程序员必须遵守其规定 C、继承性是子类自动共享父类数据结构和方法的机制 D、多态是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的 结果 第三题、判断题(每题1分,5道题共5分) 1、面向对象开发技术分三个阶段:面向对象分析,面向对象设计和面向对象实现。 正确错误 2、面向对象的要素包括抽象、封装。

pop广告设计教学大纲

《pop广告设计》(广告学)教学大纲 适用专业:广告学专业本科课程性质:必修 学时数: 42 学分数:2 开课学期:第二学年第一学期大纲执笔人:申献双大纲审核人: 一、课程性质与教学目标 课程性质: 本课程为广告学专业本科必修课。 教学目标:通过系统学习本课程的专业理论知识与专业技能,使学生了解pop广告设计的基础知识,基本类型、创作观念,表现手法和发展趋势,掌握pop广告设计的创意与手绘表现的一般规律,具备pop广告策划与手绘pop广告设计的能力,并能够创造出有新意,符合市场需求的pop广告设计作品。 二、课程内容提要 第一章Pop广告设计概述(7学时) 1课程内容 1)pop广告的定义 pop广告是许多广告形式中的一种,它是英又pointof purchase advertising的缩写,意为“购买点广告”,简称pop广告。 2)pop广告的广义与狭义概念 广义的pop广告的概念,指凡是在商业空间、购买场所、零售商店的周围、内部以及在商品陈设的地方所设置的广告物,都属于pop广告。如:商店的牌匾、店面的装满和橱窗,店外悬挂的充气广告、条幅,商店内部的装饰、陈设、招贴广告、服务指示,店内发放的广告刊物,进行的广告表演,以及广播、录像电子广告牌广告等。狭义的pop广告概念,仅指在购买场所和零售店内部设置的展销专柜以及在商品周围悬挂、摆放与陈设的可以促进商品销售的广告媒体。 3)pop广告设计的发展历史

pop广告起源于美国的超级市场和自助商店里的店头广告。1939年,美国pop 广告协会正式成立后,自此pop广告获得正式的地位。 30年代以后,pop广告在超级市场、连锁店等自助式商店频繁出观,于是逐渐为商界所重视。60年代以后,超级市场这种自助式销售方式由美国逐渐扩展到世界各地,所以pop广告也随之走向世界各地。 4) pop广告的功能 1、新产品告知的功能 2、起消费者潜在购买意识的功能 3、代售货员的功能 4、造销售气氛的功能 5、提升企业形象的功能 5)pop广告的发展趋势 1、系列pop广告 2、技术的吸收与综合 3、绘式pop广告 2重点、难点 ⑴教学重点: pop广告的基本概念和功能。 ⑵教学难点: pop广告的概念和分类形式。 3基本要求 要求学生了解pop广告的基本概念、理解pop广告的几种分类的形式,并能够掌握其功能。 第二章pop广告的类型(6学时) 1课程内容 1)什么是店头POP? 置于店头的POP广告,如看板、海报、店招、立场招牌、海报、大木偶站式广告牌、实物大样本、高空气球、橱窗展示、广告伞、指示性标志等。 2)柜台展示POP广告 柜台展示POP是放在柜台上的小型POP广告。由于广告体与所展示商品的关系不同,柜台展示POP又可分为展示卡和展示架两种。

面向对象程序设计(答案)

学号:姓名: 第三章面向对象程序设计作业 一、判断题 1、一个Java源程序可有多个类,但只仅有一个public类,而且程序名与public类名相同。对 2、如果类A和类B在同一个包中,则除了私有成员外,类A可以访问类B中所有的成员。对 3、接口中的成员变量全部为常量,方法为抽象方法。对 4、抽象类可以有构造方法,可以直接实例化。错 5、对static方法的调用可以不需要类实例。对 6、包含抽象方法的类一定是抽象类。对 7、方法中的形参可以和方法所属类的属性同名。对 8、接口无构造器,不能有实例,也不能定义常量。错 9、类的实例对象的生命周括实例对象的创建、使用、废弃、垃圾的回收。对 10、Java应用程序的入口main方法只有一种定义法。对 二、选择题 1、下列答案正确的是(A ) A) 在同一个Java源文件中可以包含多个类,只能有一个被声明为public B) 在同一个Java源文件中只能包含一个类,并被声明为public C) 在同一个Java源文件中可以包含多个类,都可以被声明为public D) 在同一个Java源文件中可以包含多个类,只能有一个被声明为default 2、Java实现动态多态性是通过( B )实现的。 A) 重载B) 覆盖 C) 接口D) 抽象类 3、下列哪一个是正确的方法重载描述( A ) A) 重载方法的参数类型必须不同 B) 重载方法的参数名称必须不同 C) 返回值类型必须不同 D) 修饰词必须不同 4、final关键字不可以用来修饰( D ) A) 类B) 成员方法 C) 域D) 接口 5、接口的所有成员方法都具有( B )属性 A) private, final B) public, abstract C) static, protected D) static 6、Java的封装性是通过(A )实现的 A) 访问控制B) 设计内部类 C) 静态域和静态方法D) 包 7、下列接口或类不属于.*包的是( D ) A) Collection B)Vector C) Map D) Integer 8、下述哪一组方法,是一个类中方法重载的正确写法( A ) A) int addValue( int a, int b ){return a+b;}

《广告创意与策划》教学大纲设计

泰豪游戏分院 《广告创意与策划》课程教学大纲 课程名称:广告创意与策划 课程编码: 课程性质:专业方向课 适用专业:艺术设计 编写人:姚冲;审定人:; 一、课程简介 (一)课程性质与任务 “广告策划与创意”课程是广告专业的一门专业性、应用性强的重要基础技术课程。广告策划涵盖广告环境分析、产品研究、消费者行为研究、竞争对手研究、广告目标确定、广告定位、广告创意、广告战略、媒体选择、广告发布时机确定、广告费用预算、广告效果调查及评估等。广告创意又在课程体系中居于关键地位,在广告运作的框架中起着至关重要的作用,因为它是广告作品直接打动消费者的核心,是为促进产品或服务的销售、实现广告目标,经过创造性思维而获得的独特的“好的主意”或“好的点子”。创意是广告的灵魂,是广告设计的基础,是使广告活动取得事半功倍效果的捷径。目前美广、装广、影视广告专业均开设本课程,具体课程的细分根据不同的专业方向有所调整。总体是面向社会主义市场经济发展的需要,面向地方经济发展的需要,培养德、智、体全面发展的,具有一定的理论修养、写作、电脑操作等能力突出的复合型高等职业人才。《广告策划与创意》锻炼学生公关、宣传的能力,提高他们适应市场经济的能力 1、(二)课程教学目的及要:求创意是广告的灵魂,提升创意能力;策划是广 告的生命,提升策划能力;注重课内课外作业训练,并强调以赛带练,在实战中提升创作水平;广泛阅读:书籍、杂志、网站等; (三)课程教学内容

本课程着重在市场营销框架中强调广告策划与创意,重广告策划书的撰写能力和广告作品的创意能力的提升 (四)先修课程及后续课程 先修课程有:美术基础、图像处理 后续课程有:场景设计、角色设计、数字绘画 二、课程教学总体安排 (一)学时分配建议表:总32学时 1.教材: 2.参考书目: 《广告创意训练教程》张勇高等教育出版社 《现代广告学》(第四版)何修猛复旦大学出版社 2002年 《现代广告策划》潘哲初复旦大学出版社 1999年 《广告学教程》张金海姚曦上海人民出版社 2003年 《当代广告学》,[美]威廉·阿伦斯,华夏出版社,1999 《一个广告人的自白》,[美]大卫·奥格威,中国友谊出版社 《奥美的观点》企业管理出版社 2000年 《定位》,[美]里斯·特劳特,中国财政经济出版社 《公共关系的战略与战术》,[美]丹尼斯·威尔科克斯等,解放出版社

面向对象程序设计课后答案(完整版)

第二章2-4 #include using namespace std; Add(int a,int b); int main() { int x,y,sum; cout<<"please input x and y:"; cin>>x>>y; sum = add(x,y); cout < using namespace std; int main() {

int *p,*init; int countp=0; int countn=0; p = new int[20]; init = p; for(int i=0;i<20;i++) { cin>>*p; p++; } p = p-20; for( i=0;i<20;i++) { if(*p>0) countp++; if(*p<0) countn++; cout<<*p<<" "; p++; } cout<<"正数有:"< //#include using namespace std; void checkagescore(string name,int age) { if (name == "exit") throw name; if(age<0||age>50) throw age;

面向对象程序设计复习题及参考答案

网络教育课程考试复习题及参考答案 面向对象程序设计 一、填空题: 1.创建类的对象时,使用运算符___________给对象分配内存空间。 2.Java通过来区分重载函数。 3.在子类中使用保留字_ _可调用被子类覆盖的父类中的方法。 4.使用保留字可以从一个构造方法中调用同一个类的另一个构造方法。 5.抽象类用修饰符定义。 6.类的数据成员的访问权限修饰符一般为 7.访问权限修饰符按照访问权限的大小从大到小分别为、、 、。 8.定义类的构造方法不能有,其名称与名相同。 9.抽象方法是的特征是。 10.Java中的所有异常都是从继承来的。 11.对象引用中存储的内容是。 12.下列程序段执行后, String str1 = new String("Java"); String str2 = new String("Java"); if (str1.equals(str2)) { System.out.println("They are equal"); } else { System.out.println("They are not equal"); } 输出结果为:。 13.下面循环执行后的sun值为 int count =0, sum = 0; while ( count <10 ) { sum += count; count ++; } 14.Java语言中关键字_ _表示双精度类型。 15.保留字_ _用于导入包中的类到程序中,供程序中使用。 16.Java语言中继承是用保留字表示。 17.面向对象程序设计中,类是指。 18.对象包含和。 19.若有类定义: class B extends A{ … } 则类B是类A的_ 。 20.Java语言中, 通常把可能发生异常的方法调用语句放到try块中,并用紧跟其后的_ 块来捕 获和处理异常。 21.多态是指。 22.声明常量时使用修饰符。 23.Java中异常抛出使用保留字。 24.一个类成员或者方法前面加上了修饰符,那说明该数据成员和方法可以直接通过类名 来访问和调用。

广告设计教学大纲

《广告设计》教学大纲 一、课程性质与设置目的 1、课程性质: 电脑图形设计专业主干课程。 2、课程设置目的: 广告已成为现代人生活中必不可少的一部分,是现代社会经济活动中重要的组成部分,是介于社会学、美学与市场营销学边缘的综合性科学,既是一门科学也是一门艺术。广告设计课程是为培养从事广告设计与实施的应用性人才而设,对电脑图形设计专业的学生来说是一种重要的基础技能。 3、本课程与相关课程的关系: 课程所涉及的内容非常广泛,在教学和学习的过程中需要应用到包括文字、色彩、版式、图形等在的内其他相关设计课程的知识。是设计基础的综合检验课程。由于广告分类的不同,其相关设计课程内容的应用侧重点也有所不同。 4、教学目标: 使学生具备广告设计的基础理论知识、程序和方法,把握不同广告媒体的特点与局限,了解广告传播方式以及制作与实施,能够运用视觉传达的基本原理和方法进行广告平面设计与绘制。 5、课时分配: 本课程通过7个单元的学习,广告设计课程总学时为60学时,周学时为4学时,共计15周。在第三学期学习。

二、课程的基本要求 1、强调广告策划的创意与视觉导向功能。 2、要加强学生的全面修养,吸收如经济学、社会学、市场学、传播学、心理学、语言学、统计学、美学等与广告设计课程关系密切的其它相关学科的知识。 3、在教学过程中既要求学生注重广告对消费者的引导,又要求学生要根据广告分类的不同选择适合的艺术表现形式来传达广告内容。 4、把握时代精神,从中外优秀广告案例和本土民族文化中汲取设计营养,发挥最大的创造能力来学习和尝试广告设计。 三、教学方法与手段 通过课堂讲授、名作欣赏、社会考查、作业点评、示范指导等方法组织教学。

面向对象程序设计笔记

undeclared identifier “未声明的标识符” (1) 十进制整数:在一个整型常量后面加一个字母 l 或 L,则认为是 long int 型常量? (2) 八进制整数?在常数的开头加一个数字 0,就表示这是以八进制数形 式表示的常数? (3)十六进制整数?在常数的开头加一个数字0和一个英文字母X(或x), 就表示这是以十六进制数形式表示的常数? 2. 浮点数的表示方法 如果在实数的数字之后加字母 F 或f,表示此数为单精度浮点数,如1234F,-43f,占 4 个字节?如果加字母 L 或 l,表示此数为长双精度数(long double), 在Visual C++ 6.0 中占 8 个字节. (2) 指数形式(即浮点形式):用字母 e 表示其后的数是以 10 为底的幂,如 e12 表示 1012? 1.普通的字符常量:用单撇号括起来的一个字符就是字符型常量如′a′,′ #′,′%′,′D′都是合法的字符常量,在内存中占一个字节?“cout<<′\n′; ”将输出一个换行,其作用与“cout<

面向对象程序设计完整版

Object- Orien ted Programmi ng C++ 主讲成长生 东华大学计算机科学与技术学院

第一章概述 § 1.1 面向对象程序设计的基本思想 C++是基于C语言发展的,又冲破C语言局限的面向对象的程序设计语言。它与Java 语言都作为当前计算机科学的主流语言, 越来越受到用户的欢迎。 要弄清楚什么是面向对象的程序设计, 首先了解和回顾传统的 ( Pascal(或C))结构化程序设计方法及其设计思想、程序结构及特点。SP(Structure Programming)是60 年代诞生的针对当时爆发的所谓”软件危机” , 为此发展形成了现代软件工程学的基础。 SP的总的设计思想是: . 自顶向下、层次化 . 逐步求精、精细化 程序结构是按功能划分基本模块的树型结构, 使模块间的关系尽可能简单独立。因此SP的程序的基本特点是: . 按层次组织模块(战略上划分战役) . 每一模块只有一个入口, 一个出口 ?代码和数据分离(程序=数据结构+算法) 归纳得到: SP 把数据和过程(代码、函数)分离为相互独立的实体, 用数据代表问题空间中的客体借以表示实际问题中的信 息; 程序代码则用来处理加工这些数据。程序员在编程时 必须时刻考虑所要处理的数据结构和类型。对不同的数据格式即使要作同样

的处理计算, 或者要对相同的数据格式作不同的处理都必须编写不同的程序(如两个整型数和两个浮点数相加)。这样的编程方法,即传统的SP方法设计出来的程序或系统其可重用的成分很少。其次把数据和代码作为不同的分离实体时, 总存在着用错误的数据调用正确的程序模块, 或用正确的数据调用错误的程序模块的危险, 从而使数据与程序始终保持兼容, 已成为程序员 的一个沉重的负担。在开发一个大型软件课题中, 当工程进入到 后期若用户改变了方案要求, 很容易使技术人员的前期工作受到摧毁性的打击,使其前功尽弃。为克服以上的弊端或者该SP方法难以控制处理的矛盾而产生了面向对象程序设计方法, 即Object —Oriented Programming ----------- OOP从二十世纪六十年代提出对象 的雏形, 到七十年代美国国防部的专用语言Ada 语言, 直到当前国际上流行的高品味的Java 和C++(Tc++,Balandc++ 及Vc++), , 应该讲OOP方法与技术吸取了SP的一切优点,同时又正视和顺应现实世界由物质和意识二部分组成。映射到面向对象的解空间就是: 具体事物—对象; 抽象概念—类。 OOP的基本原理是用问题领域的模型来模拟大千世界,从而设计出尽可能直接、自然地表示问题求解方法的软件, 这样的软件由对象组成, 而对象则是完整反映客观世界事物具有不可分割的静态属性(”数据结构” )与动态行为(”方法” )的。而且它们是既有联系又

面向对象程序设计期末复习分析

一、单项选择题( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题1 分,共20 分) 3.下列不属于面向对象技术的基本特征的是(B)。 A. 封装性 B. 模块性 C. 多态性 D. 继承性 4. 面向对象程序设计将描述事物的数据与(C ) 封装在一起,作为一个相互依存、不可分割的整体来处理。 A. 信息 B. 数据隐藏 C. 对数据的操作 D. 数据抽象 5. 关于面向对象方法的优点,下列不正确的叙述是(C )。 A. 与人类习惯的思维方法比较一致 B. 可重用性好 C. 以数据操作为中心 D.可维护性好 8. 下列不属于类的成员函数的是( C )。 A. 构造函数 B. 析构函数 C. 友元函数 D. 拷贝构造函数 9. 继承机制的作用是( C )。 A. 信息隐藏 B. 数据封装 C. 派生新类 D. 数据抽象 14. (D )是从用户使用系统的角度描述系统功能的图形表达方法。 A. 类图 B. 对象图 C. 序列图 D. 用例图 15. (C ) 是表达系统类及其相互联系的图示,它是面向对象设计的核心,建立状态图、协作 图和其他图的基础。 A.对象图 B. 组件图 C. 类图 D. 配置图 16.(D )描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这些对 象之间传递消息的时间顺序。 A.对象图 B. 协作图 C. 状态图 D. 序列图 17.(D )就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示 系统中软件和硬件的物理架构。 A. 组件图 B. 协作图 C. 状态图 D. 配置图 18. 在用UML进行数据库的分析与设计过程中,( B ) 就是进行数据库的需求分析,使用用 例图、类图、顺序图、活动图等建立业务模型。 A. 逻辑数据模型设计 B 业务Use Case模型设计 C. 物理数据模型设计 D. 物理实现设计 19. 使用UML进行关系数据库的(B )时,需要设计出表达持久数据的实体类及其联系,并把它们映射成为关系数据库表(Table)、视图(View)等。 A. 业务Use Case模型设计 B. 逻辑数据模型设计 C. 物理数据模型设计 C. 物理实现设计 20. UML的动态建模表示包含(C )种图。 A. 9 B. 5 C. 4 D. 2 二、填空题( 每空1 分,共20 分) 1. 面向对象开发方法一改过去传统的以_功能分析,面向过程_为基础的_对象_的结 构化分析与设计方法,它模拟人们理解和处理客观世界的方式来分析问题,把系统视为

面向对象程序设计教程 答案

面向对象程序设计教程(C++语言描述)题解与课程设计指导 第1章 面向对象程序设计概论 一、名词解释 抽象封装消息 【问题解答】 面向对象方法中的抽象是指对具体问题(对象)进行概括,抽出一类对象的公共性质并加以描述的过程。 面向对象方法中的封装就是把抽象出来的对象的属性和行为结合成一个独立的单位,并尽可能隐蔽对象的内部细节。 消息是面向对象程序设计用来描述对象之间通信的机制。一个消息就是一个对象要求另一个对象实施某种操作的一个请求。 二、填空题 (1)目前有面向过程的结构化程序设计方法和面向对象的程序设计方法两种重要的程序设计方法。 (2)结构化程序设计方法中的模块由顺序、选择和循环3种基本结构组成。(3)在结构化程序设计方法中,程序可表示为程序=数据结构+算法;而面向对象的程序设计方法,程序可表示为程序=对象+消息。 (4)结构化程序设计方法中的基本模块是过程;而面向对象程序设计方法中的基本模块是类。 (5)面向对象程序设计方法具有抽象性、封装性、继承性和多态性等特点。 三、选择题(至少选一个,可以多选) (1)面向对象程序设计着重于( B )的设计。 A. 对象 B. 类 C. 算法 D. 数据 (2)面向对象程序设计中,把对象的属性和行为组织在同一个模块内的机制叫做( C )。 A. 抽象 B. 继承 C. 封装 D. 多态 (3)在面向对象程序设计中,类通过( D )与外界发生关系。 A. 对象 B. 类 C. 消息 D. 接口 (4)面向对象程序设计中,对象与对象之间的通信机制是( C )。 A. 对象 B. 类 C. 消息 D. 接口 (5)关于C++与C语言的关系的描述中,( D )是错误的。 A. C语言是C++的一个子集 B. C语言与C++是兼容的 C. C++对C语言进行了一些改进 D. C++和C语言都是面向对象的 【结果分析】 C语言是面向过程的。C++语言是一种经过改进的更为优化的C语言,是一种混合型语言,既面向过程也面向对象。 (6)面向对象的程序设计将数据结构与( A )放在一起,作为一个相互依存、不可分割的整体来处理。

《面向对象程序设计C 》期末试卷及标准答案(A)

一、选择题(每小题2分,共40分) 1、C++是()。 A. 面向对象的程序设计语言 B. 面向过程的程序设计语言 C. 既支持面向对象的程序设计又支持面向过程的程序设计的混合型语言 D. 非结构化的程序设计语言 2、面向对象程序设计思想的主要特征中不包括()。 A. 封装性 B. 多态性 C. 继承性 D. 功能分解,逐步求精 3、若定义:string str; 当语句cin>>str; 执行时,从键盘输入: Microsoft Visual Studio 6.0! 所得的结果是str=()。 A. Microsoft Visual Studio 6.0! B. Microsoft C. Microsoft Visual D. Microsoft Visual Studio 6.0 4、考虑下面的函数原型声明:void testDefaulParam(int a,int b=7,char z='*'); 下面函数调用中,不合法的是()。 A. testDefaulParam(5); B. testDefaulParam(5,8); C. testDefaulParam(5,'#'); D. testDefaulParam(0,0,'*'); 5、下列语句中,将函数int sum(int x, int y)正确重载的是()。 A. float sum(int x, int y); B. int sum(int a, int b); C. float sum(float x, float y); D. double sum(int y, int x); 6、下列表示引用的方法中,()是正确的。 已知:int a=1000; A. int &x=a; B. char &y; C. int &z=1000; D. float &t=&a; 7、在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用()。 A. 内联函数 B. 重载函数 C. 递归调用 D. 嵌套调用 8、下列有关C++类的说法中,不正确的是()。 A. 类是一种用户自定义的数据类型 B. 只有类中的成员函数或类的友元函数才能存取类中的私有成员 C. 在类中,如果不做特别说明,所有成员的访问权限均为私有的 D. 在类中,如果不做特别说明,所有成员的访问权限均为公用的 9、已知X类,则当程序执行到语句:X array[3];时,调用了()次构造函数。 A. 0 B. 1 C. 2 D. 3 10、下面说法中,正确的是() A. 一个类只能定义一个构造函数,但可以定义多个析构函数 B. 一个类只能定义一个析构函数,但可以定义多个构造函数 C. 构造函数与析构函数同名,只要名字前加了一个求反符号(~) D. 构造函数可以指定返回类型,而析构函数不能指定任何返回类型,即使是void类型也不可以 11、已知:print( )函数是一个类的常成员函数,它无返回值,下列表示中,()是正确的。

面向对象程序设计试卷14-15-1

洛阳理工学院 2014/2015 学年第一学期面向对象程序设计期末考试试题卷 适用班级:B120507-10 考试日期时间:120分钟 一、选择题(每小题2分,共40分) 1、C++是()。 A. 面向对象的程序设计语言 B. 面向过程的程序设计语言 C. 既支持面向对象的程序设计又支持面向过程的程序设计的混合型语言 D. 非结构化的程序设计语言 2、面向对象程序设计思想的主要特征中不包括()。 A. 封装性 B. 多态性 C. 继承性 D. 功能分解,逐步求精 3、若定义:string str; 当语句cin>>str; 执行时,从键盘输入:Microsoft Visual Studio 6.0! 所得的结果是str=()。 A. Microsoft Visual Studio 6.0! B. Microsoft C. Microsoft Visual D. Microsoft Visual Studio 6.0 4、考虑下面的函数原型声明:void testDefaulParam(int a,int b=7,char z='*'); 下面函数调用中,不合法的是()。 A. testDefaulParam(5); B. testDefaulParam(5,8); C. testDefaulParam(5,'#'); D. testDefaulParam(0,0,'*'); 5、下列语句中,将函数int sum(int x, int y)正确重载的是()。 A. float sum(int x, int y); B. int sum(int a, int b); C. float sum(float x, float y); D. double sum(int y, int x); 6、下列表示引用的方法中,()是正确的。已知:int a=1000; A. int &x=a; B. char &y; C. int &z=1000; D. float &t=&a; 7、在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用()。 A. 内联函数 B. 重载函数 C. 递归调用 D. 嵌套调用 8、下列有关C++类的说法中,不正确的是()。 A. 类是一种用户自定义的数据类型 B. 只有类中的成员函数或类的友元函数才能存取类中的私有成员 C. 在类中,如果不做特别说明,所有成员的访问权限均为私有的 D. 在类中,如果不做特别说明,所有成员的访问权限均为公用的 9、已知X类,则当程序执行到语句:X array[3];时,调用了()次构造函数。 A. 0 B. 1 C. 2 D. 3 10、下面说法中,正确的是() A. 一个类只能定义一个构造函数,但可以定义多个析构函数 B. 一个类只能定义一个析构函数,但可以定义多个构造函数 C. 构造函数与析构函数同名,只要名字前加了一个求反符号(~) D. 构造函数可以指定返回类型,而析构函数不能指定任何返回类型,即使是void类型也不可以 11、已知:print( )函数是一个类的常成员函数,它无返回值,下列表示中,()是正确的。 A. void print( ) const; B. const void print( ); C. void const print( ); D. void print(const); 12、下面描述中,表达错误的是() A. 公用继承时基类中的public成员在派生类中仍是public的 B. 公用继承时基类中的private成员在派生类中仍是private的 C. 公用继承时基类中的protected成员在派生类中仍是protected的 D. 私有继承时基类中的public成员在派生类中是private的 13、设置虚基类的目的是()。 A. 简化程序 B. 消除二义性 C. 提高运行效率 D. 减少目标代码 14、下面()的叙述不符合赋值兼容规则。 A. 派生类的对象可以赋值给基类的对象 B. 基类的对象可以赋值给派生类的对象 C. 派生类的对象可以初始化基类的对象 D. 派生类的对象的地址可以赋值给指向基类的指针 15、关于虚函数的描述中,()是正确的。 A. 虚函数是一个static类型的成员函数 B. 虚函数是一个非成员函数 C. 基类中说明了虚函数后,派生类中与其对应的函数可不必说明为虚函数 D. 派生类的虚函数与基类的虚函数具有不同的参数个数和类型 16、下面关于友元的描述中,错误的是()。 A. 友元函数可以访问该类的私有数据成员

相关主题
文本预览
相关文档 最新文档