程星华等主编的《应用语言学》讲义

程星华等主编的《应用语言学》讲义
程星华等主编的《应用语言学》讲义

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

第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)而不是一组相互协作的函数。在程序中,属性用数据表示,用来描述对象静态特征;行为用程序代码实现,用来描述对象动态特征。可见,在面向对象的程序设计方法中,对象是数据结构和算法的封装体。对象之间存在各种联系,它们之间通过消息进行通信。程序可表示为: 程序=对象+消息 在面向对象程序设计中,它着重于类的设计。类正是面向对象语言的基本程序模块,通过类的设计,来完成实体的建模任务。类通过一个简单的外部接口,与外界发生关系。一个类中的操作不会处理到另一个类中的数据,这样程序模块的独立性、数据的安全性就有了良好的保障。程序的执行取决于事件发生的顺序,由顺序产生的消息来驱动程序的执行。不必预先确定消息产生的顺序,更符合客观世界的实际。并且面向对象程序设计方法提供了软件重用、解决大问题和复杂问题的有效途径,具有抽象性、封装性、继承性和多态性等特点。

句式变换(长短句变换的各种技巧和方法)

句式变换(长短句变换的各 种技巧和方法) -标准化文件发布号:(9556-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

句式变换 (长短句变换的各种技巧和方法) 教学目标:掌握长短句变换的各种技巧和方法 教学重点、难点:见目标 教学方式:讲练结合 变换原则: ①审清题目要求。 ②要明确句式经过变换,只是句子形式发生变化,不改 变原句的意思。 ③可以在字词上微调,但不能随意删减和添加。 ④改变后的句子必须是健康的。 一、长句变短句 练习1:用“帕格尼尼”作为首句的开头,将下列长句改成 由4个短句组成的句子。 要求:保持原意,语句通顺,语意连贯,可适当增减个别 词语。 世界级小提琴家帕格尼尼是一位从上帝那里同时接受天赋 和苦难两项馈赠而又善于用苦难的琴弦把天赋演绎到极致的 奇人。 技巧点拨:提主干法,再将复杂的修饰语根据表达的意思 化成几个短句 1.切分(a.找主干b.找动词、主语) 2.组句(借助代词)

3.排序、整合 练习2、把下面的句子改写成三个连贯的短句。 地方法院今天推翻了那条严禁警方执行市长关于不允许在学校附近修建任何等级剧场的指示的禁令。 练习3、把下面的长句改写成语意连贯的三个短句。(不改变原意,可以适当增删词语)(4分) 联合国安理会正试图解决联合国武器核查小组对伊拉克进行武器核查后在核查报告中说没有足够的理由证明伊拉克具有大规模杀伤性武器与美国宣称有充足的理由表明伊拉克具有大规模杀伤性武器的谁是谁非的问题。 练习4、把下面这个长句改为四个彼此连贯的短句。可增删个别词语,但不得改变原意。 总公司批准了部门经理免除李西因被诬告违反有关财经制度而被取消由于一年来工作成绩突出而被准予晋升一级工资的处罚的请示。 练习5、把下面的长句改写成几个较短的句子,使意思表达得更清楚(可以改变语序、增删词语,但不得改变愿意)(3分)(03春) 拥有巨大市场的某电子集团,在美国发生的“9.11”恐怖袭击事件对全球经济造成的沉重打击如雪上加霜般作用于今年以来已经不景气的世界信息产业时,也不能不做出裁员的反应了

JAVA语言与面向对象程序设计课后习题答案

第1章面向对象软件开发概述 1.简述面向过程问题求解和面向对象问题求解的异同。试列举出面向对象和面向过程的编程语言各两种。 答:面向过程问题求解,以具体的解题过程为研究和实现的主体,其思维特点更接近于计算机;面向对象的问题求解,则是以“对象”为主体,“对象”是现实世界的实体或概念在计算机逻辑中的抽象表示,更接近于人的思维特点。 面向过程的编程语言:C,Pascal,Foratn。 面向对象的编程语言:C++,Java,C#。 2.简述对象、类和实体及它们之间的相互关系。尝试从日常接触到的人或物中抽象出对象的概念。 答:面向对象技术中的对象就是现实世界中某个具体的物理实体在计算机逻辑中的映射和体现。类是同种对象的集合与抽象。类是一种抽象的数据类型,它是所有具有一定共性的对象的抽象,而属于类的某一个对象则被称为是类的一个实例,是类的一次实例化的结果。如果类是抽象的概念,如“电视机”,那么对象就是某一个具体的电视机,如“我家那台电视机”。 3.对象有哪些属性?什么是状态?什么是行为?二者之间有何关系?设有对象“学生”,试为这个对象设计状态与行为。 答:对象都具有状态和行为。 对象的状态又称为对象的静态属性,主要指对象内部所包含的各种信息,也就是变量。每个对象个体都具有自己专有的内部变量,这些变量的值标明了对象所处的状态。 行为又称为对象的操作,它主要表述对象的动态属性,操作的作用是设置或改变对象的状态。 学生的状态:姓名、性别、年龄、所在学校、所在系别、通讯地址、电话号码、入学成绩等; 学生的行为:自我介绍、入学注册、选课、参加比赛等。 4.对象间有哪三种关系?对象“班级”与对象“学生”是什么关系?对象“学生”与对象“大学生”是什么关系? 答:对象间可能存在的关系有三种:包含、继承和关联。 对象“班级”与对象“学生”是包含关系。 对象“学生”与对象“大学生”是继承关系。 5.有人说“父母”和“子女”之间是继承的关系。这种说法是否正确?为什么? 答:“父母”和“子女”之间不是面向对象意义上的“继承”关系。因为这里的继承关系是“is a”的关系,“男人”与“人”之间可以说是继承关系。 6.面向对象的软件开发包括哪些过程?OOA模型包括哪三个层次?OOD模型在OOA模型的基础上引入了哪些工作? 答:面向对象的软件开发过程可以大体划分为面向对象的分析(Object Oriented analysis,OOA)、面向对象的设计(Object oriented design,OOD)、面向对象的实现(Object oriented programming,OOP)三个阶段。 面向对象的分析的主要作用是明确用户的需求,并用标准化的面向对象的模型规范地表述这一需求,最后将形成面向对象的分析模型。 面向对象的设计将在OOA模型的基础上引入界面管理、任务管理和数据管理三部分的内容。 7.面向对象的程序设计方法有哪些优点? 答:由于对象的概念能够以更接近实际问题的原貌和实质的方式来表述和处理这些问题,所以面向对象的软件开发方法比以往面向过程的方法有更好的灵活性、可重用性和可扩展性,使得上述“分析—设计—实现”的开发过程也更加高效、快捷。

0904064面向对象编程技术课程教学大纲

《面向对象编程技术》课程教学大纲 一、课程基本信息 课程编号:0904064 课程中文名称:面向对象编程技术 课程英文名称:Object-Oriented Programming Technology 课程性质:专业选修课程 考核方式:考查 开课专业:自动化、测控技术与仪器、电气工程及自动化、探测制导与控制技术、生物 医学工程 开课学期:7 总学时: 32 (其中理论32学时,实验0学时) 总学分:2 二、课程目的 本课程的学习目的在于使学生掌握面向对象编程技术,使学生理解面向对象程序设计理论,结合MFC编程和VC6.0软件开发平台,切实掌握C++语言工具。将面向对象程序设计方法正确运用到程序设计实践中,为后续课程设计和软件开发打下扎实基础,并且为以后从事应用软件开发提供合适的工具。 三、教学基本要求(含素质教育与创新能力培养的要求) 1. 了解面向对象程序设计的思想,能够运用C++语言和MFC基础类库进行系统编程,具备软件开发的能力。 2. 掌握C++中类的说明方法,熟练掌握对象说明的方法、访问类对象成员的方法、封装的实现方法。充分理解成员函数重载的概念,掌握成员重载的方法。 3. 深刻理解单一继承、多重继承、两义性、支配规则和虚基类的

概念。 4. 理解运算符重载、模版的概念和含义,了解类运算符和友元运算符。 5. 了解流类库的概念,掌握使用流类库进行文件存取的方法。 6. 熟练掌握常用的MFC基础类库使用方法 四、教学内容与学时分配 第一章面向对象的程序设计方法和C++简介(2学时) 讲授面向对象程序设计的基本思想及基本概念、面向对象的软件开发环境与Visual C++开发平台。 第二章程序设计基础(2学时) C语言知识回顾,包括:数组、函数、结构和指针。 第三章类与对象(2学时) 熟练掌握类的定义、类与结构的区别、类对象说明的方法、访问类对象成员的方法、成员函数的定义和使用方法。 第四章构造函数和析构函数(2学时) 熟练掌握构造函数、析构函数、带参数的构造函数、重载构造函 数、默认构造函数、构造类成员。 第五章继承性和派生类(4学时) 掌握类的层次概念、单一继承、多重继承,派生类的定义和使用方法,派生类的访问权限、构造函数和析构函数的调用顺序。 第六章多态性和虚函数(2学时) 掌握函数重载、运算符重载、虚函数、友元函数。 第七章模板(2学时) 掌握模板的基本概念、定义方法及其分类。 第八章 C++的I/O系统(2学时) 掌握流的定义、格式化的I/O、文件与文件流。 第九章 MFC编程(12学时) 熟练掌握用微软基础类库(MFC)编写Windows应用程序的方法(2

面向对象程序设计复习资料

1.对象 (1)从概念层面讲,对象是某种拥有责任的抽象。 (2)从规格层面讲,对象是一系列可以被其他对象使用的公共接口。 (3)从语言实现层面讲,对象封装了代码和数据。 2.软件开发中的经典阶段:需求、分析、设计、规范、实现、测试、部署、维护。 3.设计7原则:开闭原则、里氏代换原则、依赖倒转原则、合成/聚合复用原则、 迪米特原则、接口隔离原则、单一职责原则。 4.面向对象的方法学:UML(统一建模语言)、RUP(统一软件开发过程)、XP(极限编程)。 开发方法:Booch、Coad、OMT、UML、OOSE、Wirfs—Brock 5.OOA——运用面向对象方法进行需求分析。 OOD——运用面向对象方法进行系统设计。 OOP——运用面向对象方法进行程序设计。 6.OOA的基本任务:是运用面向对象的方法,对问题域和系统责任进行分析和理解,对其中的事物和它们之间的关系产生正确的认识,找出描述问题域及系统责任所需的类及对象,定义这些类和对象的属性和操作,以及它们之间所形成的结构、静态联系和动态联系。最终目的:是产生一个符合用户需求,并能够直接反映问题域和系统责任的OOA模型及其详细说明。 优点:(1)加强了对问题域和系统责任的理解。(2)改进与分析有关的各类人员之间的交流。 (3)对需求的变化具有较强的适应性。(4)支持软件复用。 OOA的三大策略是:属性策略、方法策略、对象策略。 7.(1)封装:是指对象在其操作中隐藏属性。它是一种信息隐蔽技术,用户只能看见对象封装界面上的信息,对象的内部实现对用户是隐蔽的。封装的目的是使对象的使用者和生产者分开,使对象的定义和实现分开。 例如:要从同事那里借钱,在商店购买食物,就不会抢夺同事的钱包,大翻一通,看看里面是否有足够的钱。而应该询问他们是否可以借你一些钱,他们就会自己翻钱包。 以表示圆的一个对象作为封装的例子。圆的操作应能计算出半径、直径、周长和面积。假定选择存储直径,要访问直径的程序员都会选择存储直径属性,而不是通过“获取直径”的操作来访问。如果在软件的后续版本中要存储的是半径,就必须找出系统中直接访问直径的所有代码,并更正它们,有了封装,就不会有问题。 (2)继承:可以指定类从父类中获取一些特性,再添加它自己的独特特性。继承是类间的基本关系,它是基于层次关系的不同类共享数据和操作的一种机制。父类中定义了其所有子类的公共属性和操作,在子类中除了定义自己特有的属性和操作外,可以继承父类的属性和操作,也可以对父类中的操作重新定义其实现方法。 例如:在面向对象中,我们可以把洗衣机、电冰箱、微波炉、收音机看成是家用电气类的子类,也可以说家用电器类是这些类的超类。家用电器类具有的属性OnOffSwitch和electricWire,具有turnOn()和turnOff()操作。因此,如果你知道某物是家用电器,那么就会立即知道它具有家用电器类的属性和操作,这种关系就是继承。每个家用电器类的子类都继承了家用电器类的特征。同时,每个子类都增加了自己的属性和操作。 (3)多态:是指同一操作作用于不同的对象上可以有不同的解释,并产生不同的执行结果。例如:“画”操作,作用在“矩形”对象上,则在屏幕上画一个矩形;作用在“圆”对象上,则在屏幕上画一个圆。也就是说,相同操作的消息发送给不同对象时,每个对象将根据自己所属类中定义的这个操作方法去执行,从而产生不同的结果。 6.RUP(统一软件开发过程):是一个面向对象且基于网络的程序开发方法论。RUP好像一个在线的指导者,它可以为所有方面和层次的程序开发提供指导方针,模版以及事例支持。

第3章 面向对象程序设计基础

第3章面向对象程序设计基础

第3章面向对象程序设计基础 【1】什么是Java程序使用的类?什么是类库? 答:类是将一类事物的特性描述出来,然后如果用这个类来定义对象,则该对象就拥有了这个类所描述的所有特性。 在Java系统中,系统定义好的类根据实现的功能不同,可以划分成不同的集合,每个集合称为一个包,所有包合称为类库。 【2】如何定义方法?在面向对象程序设计中方法有什么作用? 答:方法的定义由两部分组成:方法声明和方法体。 方法的声明如下: 返回值类型方法名(参数类型形式参数1,参数类型形式参数2…){ 程序代码; 返回值; } 在面向对象程序设计中,方法的作用是完成对类和对象属性操作。 【3】简述构造方法的功能和特点。下面的程序片段是某学生为student类编写的构造方法,请指出其中的错误。 void Student(int no,String name) {

studentNo=no; studentName=name; return no; } 答:构造方法的功能是:构造方法是一个特殊的方法,主要用于初始化新创建的对象; 特点:构造方法的方法名要求与类名相同,用户不能直接调用,只能通过new运算符调用,而且构造方法是不返回任何数据类型,甚至也不返回void数据类型,即不能在构造方法前加void。 错误之处:(1)构造方法Student()前不能加void,(2)不能用return语句,(3)类名Student 首字母S改成小写s. 【4】定义一个表示学生的student类,包括的域有学号、姓名、性别、年龄,包括的方法有获得学号、姓名、性别、年龄及修改年龄。编写Java程序创建student类的对象及测试其方法的功能。 class Student { String id; String name; String sex; int age; void talk(){

句式变换 (长短句变换的各种技巧和方法)

句式变换 (长短句变换的各种技巧和方 法) 教学目标:掌握长短句变换的各种技巧和方法 教学重点、难点:见目标 教学方式:讲练结合 变换原则: ①审清题目要求。 ②要明确句式经过变换,只是句子形式发生变化,不改变原句的意思。 ③可以在字词上微调,但不能随意删减和添加。 ④改变后的句子必须是健康的。 一、长句变短句 练习1:用“帕格尼尼”作为首句的开头,将下列长句改成由4个短句组成的句子。 要求:保持原意,语句通顺,语意连贯,可适当增减个别词语。 世界级小提琴家帕格尼尼是一位从上帝那里同时接受天赋和苦难两项馈赠而又善于用苦难的琴弦把天赋演绎到极致的奇人。 技巧点拨:提主干法,再将复杂的修饰语根据表达的意思化成几个短句 1.切分(a.找主干b.找动词、主语)

2.组句(借助代词) 3.排序、整合 练习2、把下面的句子改写成三个连贯的短句。 地方法院今天推翻了那条严禁警方执行市长关于不允许在学校附近修建任何等级剧场的指示的禁令。 练习3、把下面的长句改写成语意连贯的三个短句。(不改变原意,可以适当增删词语)(4分) 联合国安理会正试图解决联合国武器核查小组对伊拉克进行武器核查后在核查报告中说没有足够的理由证明伊拉克具有大规模杀伤性武器与美国宣称有充足的理由表明伊拉克具有大规模杀伤性武器的谁是谁非的问题。 练习4、把下面这个长句改为四个彼此连贯的短句。可增删个别词语,但不得改变原意。 总公司批准了部门经理免除李西因被诬告违反有关财经制度而被取消由于一年来工作成绩突出而被准予晋升一级工资的处罚的请示。 练习5、把下面的长句改写成几个较短的句子,使意思表达得更清楚(可以改变语序、增删词语,但不得改变愿意)(3分)(03春) 拥有巨大市场的某电子集团,在美国发生的“9.11”恐怖袭击事件对全球经济造成的沉重打击如雪上加霜般作用于今年以来已经不景气的世界信息产业时,也不能不做出裁员

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

面向对象程序设计教学大纲西北民族大学数学与计算机科学学院 制定的时间:二〇一二年五月

面向对象程序设计教学大纲 一、课程基本资料 主讲教师:曹永春、蔡正琦、顿毅杰 主教材:《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.360docs.net/doc/8318160435.html,/sites/ccf/ 2. 计算机爱好者协会https://www.360docs.net/doc/8318160435.html,/forum.php 3.C语言中文网https://www.360docs.net/doc/8318160435.html,/cpp 5.中国悠悠期刊网https://www.360docs.net/doc/8318160435.html,/ 6. 中国知网https://www.360docs.net/doc/8318160435.html,/ 文献 1.谭浩强.C程序设计.第4版.北京:清华大学出版社,2010

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

《面向对象程序设计》课程教学大纲 一课程说明 1.课程基本情况 课程名称:Java程序设计 英文名称:Java Programming 课程编号:2413223 开课专业:计算机科学与技术 开课学期:5 学分/周学时:4/4 课程类型:专业限选 2.课程性质(本课程在该专业的地位作用) 面向对象的程序设计是基于数据的,尽管数据和动作在软件的结构中最终都会发挥作用,但是从软件系统的整个生命周期来看,在一定程度上功能是易变的,而数据是相对稳定的。面向对象的程序设计抓住软件系统中相对稳定的因素,即数据,采用数据抽象和信息隐蔽的技术,减少了程序变化所带来的冲击和影响。并且,面向对象程序设计鼓励对现有代码的复用,而且使代码复用成为可能。另外,面向对象程序设计中的继承、多态及封装性,使得软件系统的构造有了技术准则的指导,使软件系统的质量得到进一步的提高。 3.本课程的教学目的和任务 Java 不依赖平台的特点使得它受到广泛的关注,Java已成为网络时代最重要的编程语言之一。目前,Java语言不仅是一门正在被广泛使用的编程语言,而且已成为软件设计开发者应当掌握的一门基础语言,因为很多新的技术领域都涉及到了Java语言,国内外许多大学已将Java语言列入了本科教学计划,掌握Java 已经成为共识。《Java程序设计》是软件工程专业、计算机科学与技术等相关专业的一门重要的程序设计语言课程。通过本课程的学习,要求学生达到:理解Java 的平台无关、面向对象、多线程等特性;掌握Java语言的面向对象的程序设计方法;掌握Java中的网络编程、多线程程序设计、GUI设计等编程技巧;培养

学生应用Java解决和处理实际问题的思维方法与基本能力。 4.本课程与相关课程的关系、教材体系特点及具体要求 先修课程:《计算机应用基础》、《C语言程序设计》。 后续课程:《专业课程实践训练》、《Java语言课程设计》。 其他课程:《JSP》、《Java 网络编》、《J2EE》。 5.教学时数及课时分配 二教材及主要参考书 教材: 《Java面向对象程序设计》,耿祥义编著,清华大学出版社,2011年。 参考书: 《Java教程》(英文版,第二版),Roger Garside John Mariani编著,机械工业出版社,2003 《Java 2实用教程》(第三版),耿祥义编著,清华大学出版社,2006。 《Java 大学教程》,耿祥义,电子工业出版社,2004。 《Java 2实用教程(第三版)实验指导与习题解答》,张跃平耿祥义,清华

南京信息工程大学滨江学院C++面向对象程序设计期末复习资料-填空考点

一、考点 1.面向对象的四大特性是:抽象、封装、继承、多态 2.构造函数的作用是:创建对象时为对象赋初值 析构函数的作用是:释放对象占用的资源 3.根据继承的基类的多少,C++将继承分为:单继承和多继承 4.C++进行动态内存分配的一对运算符是:new和delete 5.纯虚函数:是一个在基类中说明的虚函数,它在该类基类中没有定义, 但要求在它的派生类中必须定义自己的版本,或重新说明为纯虚函数。 抽象类:如果一个类至少有一个纯虚函数,那么就称该类为抽象类。 带有纯虚函数的类是抽象类,抽象类不能实例化。 6.对象拷贝有两种方式:浅拷贝和深拷贝 7.变量的生存期分为:动态生存期、静态生存期 8.C++里的逻辑值:非0表示真,0表示假 9.C++里函数参数传递方式有:值传递、地址传递、引用传递 10.静态成员变量属于类,所有的对象共享。 11.根据访问控制,C++将继承分为:公有继承、私有继承、保护继承 12.类的访问属性包括:公有、私有、继承 13.用const修饰的对象,其意思是:对象的状态不能被修改 14.拷贝构造函数被调用的场合有3种,分别是:用对象作参数构造对象时、 为函数实参对象赋值时、函数返回对象时 15.C++里的模版包括:函数模版、类模版 16.命名空间:一个由程序设计者命名的内存区域

作用:类似于操作系统中的目录和文件的关系。名字空间建立了一些 相互分隔的作用域,把全局标识符分隔开,避免产生名字冲突。 17.虚基类的作用P124 如果一个派生类有多个直接基类,而这些基类又有一个共同的基类,则在最终的派生类中会保留该间接共同基类成员的多份同名成员。但由 于保留共同基类的多份成员,不仅占用较多的存储空间,还增加了访问 这些成天元时的困难,容易出错。C++提供了虚基类的方法,使得在继 承间接共同基类时只保留其一份成员。 18.多态及其分类P145 多态性是指用一个名字定义不同的函数,这些函数执行不同但又类似的操作,从而可以使用相同的调用方式来调用这些具有不同功能的同名 函数。 面向对象的多态性分为:参数多态,包含多态,重载多态,强制多态 前两种称为通用多态,后两种称为专用多态 19.虚函数与重载函数的比较 ....P153 (1)函数重载处理的是同一层次上的同名函数问题,而虚函数处理的是同一类族中不同派生层次上的同名函数问题,前者是横向重载,后者可以理解为纵向重载。但与重载不同的是:同一类族的虚函数的首部是相同的,而函数重载时函数的首部是不同的。 (2)重载函数可以是成员函数或普通函数,而虚函数只能是成员函数。 (3)重载函数调用是以所传递参数序列的差别作为调用不同函数的依据;虚函数是根据对象的不同去调用不同类的虚函数。

面向对象程序设计C++课后题答案

第一章:面向对象程序设计概述 [1_1]什么是面向对象程序设计? 面向对象程序设计是一种新型的程序设计范型。这种范型的主要特征是: 程序=对象+消息。 面向对象程序的基本元素是对象,面向对象程序的主要结构特点是:第一:程序一般由类的定义和类的使用两部分组成,在主程序中定义各对象并规定它们之间传递消息的规律。第二:程序中的一切操作都是通过向对象发送消息来实现的,对象接受到消息后,启动有关方法完成相应的操作。 面向对象程序设计方法模拟人类习惯的解题方法,代表了计算机程序设计新颖的思维方式。这种方法的提出是软件开发方法的一场革命,是目前解决软件开发面临困难的最有希望、最有前途的方法之一。 [1_2]什么是类?什么是对象?对象与类的关系是什么? 在面向对象程序设计中,对象是描述其属性的数据以及对这些数据施加的一组操作封装在一起构成的统一体。对象可以认为是:数据+操作 在面向对象程序设计中,类就是具有相同的数据和相同的操作的一组对象的集合,也就是说,类是对具有相同数据结构和相同操作的一类对象的描述。 类和对象之间的关系是抽象和具体的关系。类是多个对象进行综合抽象的结果,一个对象是类的一个实例。 在面向对象程序设计中,总是先声明类,再由类生成对象。类是建立对象的“摸板”,按照这个摸板所建立的一个个具体的对象,就是类的实际例子,通常称为实例。 [1_3]现实世界中的对象有哪些特征?请举例说明。 对象是现实世界中的一个实体,其具有以下一些特征: (1)每一个对象必须有一个名字以区别于其他对象。

(2)需要用属性来描述它的某些特性。 (3)有一组操作,每一个操作决定了对象的一种行为。 (4)对象的操作可以分为两类:一类是自身所承受的操作,一类是施加于其他对象的操作。例如:雇员刘名是一个对象 对象名:刘名 对象的属性: 年龄:36 生日:1966.10.1 工资:2000 部门:人事部 对象的操作:吃饭开车 [1_4]什么是消息?消息具有什么性质? 在面向对象程序设计中,一个对象向另一个对象发出的请求被称为“消息”。当对象接收到发向它的消息时,就调用有关的方法,执行相应的操作。消息是一个对象要求另一个对象执行某个操作的规格的说明,通过消息传递才能完成对象之间的相互请求或相互协作。消息具有以下3个性质: (1)同一个对象可以接收不同形式的多个消息,做出不同的响应。 (2)相同形式的消息可以传递给不同的对象,所做出的响应可以是不同的。(3)消息的发送可以不考虑具体的接收者,对象可以响应消息,也可以不响应。[1_5]什么是方法?消息和方法的关系是什么? 在面向对象程序设计中,要求某一对象作某一操作时,就向该对象发送一个响应的消息,当对象接收到发向它的消息时,就调用有关的方法,执行响应的操作。方法就是对象所能执行的操作。方法包括界面和方法体两部分。方法的界面也就是消息的模式,它给出了方法的调用协议;方法体则是实现某种操作的一系列计算步骤,也就是一段程序。在C++语言中方法是通过函数来实现的,称为成员函数。消息和方法的关系是:对象根据接收到的消息,调用相应的方法;反过来,有了方法,对象才能响应相应的消息。 [1_6]什么是封装和抽象?请举例说明。

面向对象程序设计完整版

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的基本原理是用问题领域的模型来模拟大千世界,从而设计出尽可能直接、自然地表示问题求解方法的软件, 这样的软件由对象组成, 而对象则是完整反映客观世界事物具有不可分割的静态属性(”数据结构” )与动态行为(”方法” )的。而且它们是既有联系又

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

《面向对象程序设计》实验教学大纲 课程总学时:64学分:4 实验学时:16实验个数: 6个实验学分:1分 课程性质:专业必修课适用专业:计算机类专业 教材及参考书:《C++语言程序设计(第四版)》,郑莉、董渊编著,北京:清华大学出版社,2011 大纲执笔人:大纲审定人: 一、实验课的性质与任务 本课程实验大纲是面向计算机专业学生开设的《C++程序设计》实验课计划指导大纲,是依据《面向对象程序设计》课程教学计划指导大纲编制。本课程主要讲述了利用C++进行程序设计的思想和方法,既有面向过程和面向对象的程序设计的理论知识,又包括极强的实践应用能力的培养。本实验大纲力求结合该课程教学计划大纲的相应内容,由浅入深的指导学生了解和掌握如何利用C++程序设计语言进行程序设计,提高学生的动手能力,做到理论和实践相结合,培养学生理解,分析程序,编写,调试程序的能力,使之能把程序设计应用到今后的专业学习中。 二、实验目的与要求 1.实验目的 通过本课程的学习,使学生掌握面向过程的程序设计思想和编程思路,初步掌握面向对象的程序设计思想,学会调试程序,能独立编写实用的小型程序。 2.实验要求 (1)学生应该自始至终贯彻课程中所介绍的程序设计风格,养成良好的编程习惯; (2)应独立完成所布置习题。为保证尽量在统一安排的上机时间内编译运行通过程序, 学生应事先设计好程序。 面向对象程序设计实验课程(071016) 序号实 验 编 号 实验名称 学 时 必 做 选 做 学 分 数 实验类型 内容提要 基 本 操 作 验 证 综 合 设 计 1 1 类与对象 4 √√函数重载,类的设计与使用 2 2 C++程序的结 构 2 √√ 作用域与生 存期,静态成 员 3 3 数组、指针与 字符串 4 √√ 三种常见编 程元素的使 用 4 4 继承与派生 2 √√派生类的设

面向对象程序设计课程作业及复习资料

《面向对象程序设计》课程作业及答案 作业1: 是非题 1. 头文件中一般存放着变量和常量的定义、函数的原型以及类的定义。1. 错 2. 程序的编译是以文件为单位的,因此将程序分到多个文件中可以减少每次对程序修改所带来的编译工作量。4. 对 填空题 下面是一个求数组元素之和的程序。主程序中定义并初始化了一个数组,然后计算该数组各元素的和,并输出结果。函数sum计算数组元素之和。填充程序中不完整的部分。 ________A__________ int sum(int [],int); void main() { int ia[5] = {2,3,6,8,10}; B ; sumOfArray = sum(ia,5); cout << "Sum of array:" << sumOfArray << endl; } int sum(int array[],int len) { int iSum = 0; for(int i = 0; C ; D ) E ; return iSum; } 答案: A #include B int sumOfArray; C i < len D i++ E iSum += array[i]; 阅读理解题

写出下列程序的运行结果: // static int i = 20; int x; static int g(int p) { return i + p; } void f(int v) { x=g(v); } // #include extern int x; void f(int); void main() { int i=5; f(i); cout << x; } 回答以下问题:

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

面向对象程序设计基本概念 面向对象设计是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,是建立在“对象”概念基础上的方法学。所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统。 对象:对象是要研究的任何事物。从一本书到一家图书馆,单的整数到整数列庞大的数据库、极其复杂的自动化工厂、航天飞机都可看作对象,它不仅能表示有形的实体,也能表示无形的(抽象的)规则、计划或事件。对象由数据(描述事物的属性)和作用于数据的操作(体现事物的行为)构成一独立整体。从程序设计者来看,对象是一个程序模块,从用户来看,对象为他们提供所希望的行为。 类:类是对象的模板。即类是对一组有相同数据和相同操作的对象的定义,一个类所包含的方法和数据描述一组对象的共同属性和行为。类是在对象之上的抽象,对象则是类的具体化,是类的实例。类可有其子类,也可有其它类,形成类层次结构。 消息:消息是对象之间进行通信的一种规格说明。一般它由三部分组成:接收消息的对象、消息名及实际变元。 面向对象主要特征: 封装性:封装是一种信息隐蔽技术,它体现于类的说明,是对象的重要特性。封装使数据和加工该数据的方法(函数)封装为一个整体,以实现独立性很强的模块,使得用户只能见到对象的外特性(对象能接受哪些消息,具有那些处理能力),而对象的内特性(保存内部状态的私有数据和实现加工能力的算法)对用户是隐蔽的。封装的目的在于把对象的设计者和对象者的使用分开,使用者不必知晓行为实现的细节,只须用设计者提供的消息来访问该对象。 继承性:继承性是子类自动共享父类之间数据和方法的机制。它由类的派生功能体现。一个类直接继承其它类的全部描述,同时可修改和扩充。继承具有传递性。继承分为单继承(一个子类只有一父类)和多重继承(一个类有多个父类)。类的对象是各自封闭的,如果没继承性机制,则类对象中数据、方法就会出现大量重复。继承不仅支持系统的可重用性,而且还促进系统的可扩充性。 多态性:对象根据所接收的消息而做出动作。同一消息为不同的对象接受时可产生完全不同的行动,这种现象称为多态性。利用多态性用户可发送一个通用的信息,而将所有的实现细节都留给接受消息的对象自行决定,如是,同一消息即可调用不同的方法。例如:Print消息被发送给一图或表时调用的打印方法与将同样的Print消息发送给一正文文件而调用的打印方法会完全不同。多态性的实现受到继承性的支持,利用类继承的层次关系,把具有通用功能的协议存放在类层次中尽可能高的地方,而将实现这一功能的不同方法置于较低层次,这样,在这些低层次上生成的对象就能给通用消息以不同的响应。在OOPL中可通过在派生类中重定义基类函数(定义为重载函数或虚函数)来实现多态性。

长短句变换

长短句变换 【考点描述】 1.长句改为短句 2.短句改为长句 【备考知识】 一、长句与短句 1.句子的长短只就单句而言。长句与短句是相对的,并没有截然的界限。一般情况下,长句主要是指长单句,用词字数较多,结构复杂,表意周详严密的句子就是长句;反之,就是短句。表述同一个意思,可以用一个长句,也可以用一组短句,但是由于表达效果不同,适用的范围也就有所不同。 2.长句一般有三个特点:一是修饰语(定语、状语)用得多,二是并列成分多,三是某一成分结构比较复杂。 3.长句和短句有不同的表达效果。 长句的表达效果是表意严密、精确、细致,语意贯通,气势磅礴。说明道理,多用长句。书面语言特别是政论、科技、法律、公文、商务等方面的文章则多用长句。 短句的表达效果是短小精悍、生动明快、活泼有力、节奏性强。短句能简明扼要地叙述事实,简洁生动地表现人物、事物的迅速变化及表达作者(人物)紧张、激越的情绪或果断、肯定的语气。叙述事实,口语交际多用短句。 灵活选用和变换长短句以增强表达效果,是高考的一项考查内容。 二、长句变短句 常用下列几种方法: (1)先筛选出句子的主干,明确句子的中心意思,然后抽出附加成分,将它们变成按一定顺序排列的短句。 (2)抽出句子的主干,让并列的修饰语分别成为分句。 (3)抽出复杂的修饰成分中的一部分,改为复句里的单句,再让其他的修饰成分分别作分句。 【例1】把下面的长句改写成4个较短的句子,使意思表达得更清楚。(可以改变语序,增删词语,但不得改变原意) 由中国质量万里行促进会组织的、紧密结合当前市场经济热点和市场消费环境,围绕打击假冒、信用建设、质量兴国、名牌战略等社会热点、焦点问题,以“诚信·质量·名牌”为主题,聚集各个领域专家学者进行互动交流的“中国3·15论坛”,将于3月9日在京拉开序幕。 【解析】本题长句的主干是:“中国3·15论坛,将于3月9日在京拉开序幕。”,这是此长句的中心意思。附加成分为:“……消费环境”、“……热点、焦点问题”、“……主题”、“……学者进行交流”,这些都是长句主干的修饰成分,即为状语。改写的方法可以先写出句子的主干,然后对长句的附加成分进行合理改写,即可。 【答案】由中国质量万里行促进会组织的“中国3·15论坛”将于3月9日在京拉开序幕。此次论坛将紧密结合当前市场经济热点和市场消费环境,聚集各个领域专家学者进行互动交流。此次论坛主题是“诚信·质量·名牌”。专家学者们将围绕打击假冒、信用建设、质量兴国、

面向对象程序设计概述

1.什么是结构化程序设计方法?这种方法有哪些优点和缺点? 【解答】结构化程序设计方法是指20世纪60年代开始出现的高级语言程序设计方法,由于采用了数据结构化、语句结构化、数据抽象和过程抽象等概念,使程序设计在符合客观事物与逻辑的基础上更进了一步。结构化程序设计的思路是:自顶向下、逐步求精。程序结构由具有一定功能的若干独立的基本模块(单元)组成,各模块之间形成一个树状结构,模块之间的关系比较简单,其功能相对独立,模块化通过子程序的方式实现。结构化程序设计方法使高级语言程序设计开始变得普及,并促进了计算机技术的深入应用。 虽然结构化程序设计方法采用了功能抽象、模块分解与组合,以及自顶向下、逐步求精的方法,能有效地将各种复杂的任务分解为一系列相对容易实现的子任务,有利于软件开发和维护;但与面向对象程序设计方法相比,结构化程序设计存在的主要问题是,程序的数据和对数据的操作相互分离,若数据结构改变,程序的大部分甚至所有相关的处理过程都要进行修改。因此,对于开发大型程序具有一定的难度,软件的可重用性差,维护工作量大,不完全符合人类认识世界的客观规律。 2.面向对象程序设计有哪些重要特点? 【解答】软件设计的目的是为了解决日常生活中存在的各种实际问题,面向对象程序设计与以往各种程序设计方法的根本区别是程序设计的思维方法的不同。它主要具有如下重要特点: (1)面向对象程序设计实现了较直接地描述客观世界中存在的事物(即对象)及事物之间的相互关系,它所强调的基本原则是直接面对客观事物本身进行抽象,并在此基础上进行软件开发,将人类的思维方式与表达方式直接应用在软件设计中。 (2)面向对象的程序设计将客观事物看作具有属性和行为的对象,通过对客观事物进行抽象来寻找同一类对象的共同属性(静态特征)和行为(动态特征),并在此基础上形成类。 (3)面向对象的程序设计将数据和对数据的操作封装在一起,提高了数据的安全性和隐蔽性。

相关文档
最新文档