第七章 判断题-面向对象2

合集下载

Java面向对象程序设计案例教程(王贺) 第七章习题答案[5页]

Java面向对象程序设计案例教程(王贺) 第七章习题答案[5页]

1.选择题(1)下列说法中错误的是()A.对Swing构件只能设置一个边框B.Swing构件能建立组合边框或自己设计边框C.在Swing构件中,按钮可以使用图标修饰D.Swing构件支持键盘代替鼠标的操作(2)向容器添加新构件的方法是(A)A. add( )B. insert( )C. fill( )D. set( )(3)关于布局管理器LayoutManager,下列说法中正确的是(D)A.布局管理器是用来部署Java应用程序的网上发布的youtManager本身不是接口C.布局管理器是用来管理构件放置在容器中的位置和大小的D.以上说法都不对(4)JTextField类提供的GUI功能是(A)A.文本区域 B.按钮 C.文本字段 D.菜单(5)将GUI窗口划分为东、西、南、北、中五个部分的布局管理器是(D)A.FlowLayout B.GridLayout C. BoxLayout D. BorderLayout(6)关于Panel,下列说法中错误的是(D)A. Panel可以作为最外层的容器单独存在B. Panel必须作为一个构件放置在其他容器中C. Panel可以是透明的,没有边框和标题D. Panel是一种构件,也是一种容器2.填空题(1)( BorderLayout )包括5个明显的区域:东、南、西、北、中。

(2)Java的图形界面技术经历了两个发展阶段,分别通过提供AWT开发包和(Swing)开发包来体现。

(3)可以使用setLoaction( )、setSize( )或(setBounds( ) )中的任何一种方法设置组件的大小或位置。

(4)( GridLayout )布局管理器使容器中各个构件呈网格布局,平均占据容器空间。

(5)框架的默认布局管理器( BorderLayout)。

3.编程题(1)制作如图7-20所示的登录界面。

图7-20package com.zhouzhou;import java.awt.*;import javax.swing.*;public class Demo11 extends JFrame {// 定义组件JPanel jp1, jp2, jp3;JLabel jlb1, jlb2;JButton jb1, jb2;JTextField jtf1;JPasswordField jpf1;public static void main(String[] args) {// TODO Auto-generated method stubDemo11 d1 = new Demo11();}// 构造函数public Demo11() {jp1 = new JPanel();jp2 = new JPanel();jp3 = new JPanel();jlb1 = new JLabel("用户名");jlb2 = new JLabel("密码");jb1 = new JButton("登录");jb2 = new JButton("取消");jtf1 = new JTextField(10);jpf1 = new JPasswordField(10);// 设置布局管理(上面忘记:extends JFrame,这里出错了) this.setLayout(new GridLayout(3, 1));// 加入各个组件jp1.add(jlb1);jp1.add(jtf1);jp2.add(jlb2);jp2.add(jpf1);jp3.add(jb1);jp3.add(jb2);// 加入到JFramethis.add(jp1);this.add(jp2);this.add(jp3);this.setSize(250, 150);this.setTitle("登录");this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);}}(2)制作如图7-21所示的选择界面。

Visual FoxPro 9.0 基础教程第7章 面向对象程序设计基础

Visual FoxPro 9.0 基础教程第7章 面向对象程序设计基础
类的事件、方法和属性的定义
类的事件和方法的定义
类的属性的定义
对象的操作
由类创建对象 objectname =createobject(classname) 设置对象的属性 父类.对象.属性=值 mand1.Caption=“退出” 调用对象的方法和触发对象的事件 Parent.Object.Method Parent.Object.Event 对象触发则执行事件的对应代码
7.1.2 类的概念
类(Class) 所谓类,就是一组对象的属性和行为特征的抽象描述。或者说,类是具有共同属性、共同操作性质的对象的集合。 类是对象的抽象描述;对象是类的实例。类是抽象的,对象是具体的。
7.2.1 基类
基类又可以分成容器类和控件类: 容器类(Containers class)可以容纳其它对象,并允许访问所包含的对象。如表单,自身是一个对象,它又可以把按钮、编辑框、文本框等放在表单中。 控件类不能容纳其它对象,它没有容器类灵活。如文本框,自身是一个对象,在文本框中不可放其它对象。由控件类创造的对象,是不能单独使用和修改的,它只能做为容器类中的一个元素,通过由容器类创造的对象修改或使用。
面向对象的可视化程序设计方法举例
7.1.1 对象的概念
对象(Object) 对象是反映客观事物属性及行为特征的描述。 对象是面向对象编程的基本元素,是“类”的具体实例。 属性(Properties) 对象的属性特征标识了对象的物理性质;对象的行为特征描述了对象可执行的行为动作。 对象的每一种属性,都是与其它对象加以区别的特性,都具有一定的含义,并赋予一定的值。
设计对象的两种方式
用编程方式设计对象 用面向对象方式设计对象
对象设计实例:编程方式
form1.SHOW 调用方法

第七章 包图-UML面向对象分析、建模与设计-吕云翔-清华大学出版社

第七章 包图-UML面向对象分析、建模与设计-吕云翔-清华大学出版社
包图
包图的基本概念
包图是用来描述模型中的包和所包含元素的组织方式的图,是维护 和控制系统总体结构的重要内容。包图能够组织许多UML中的元素, 不过其最常用的用途是用来组织用例图和类图。
在UML 1.X规范中,虽然没有明确规定包图属于一种图类型,却可以 使用包及包的关系来表示系统的结构,包图作为实际上存在并经常被 使用的一种图出现在UML中。最新的UML 2规范中已经明确定义了包 图。
元素的分包原则
元素不能“狡兔三窟”:树形结构的一个节点不能同时拥有两个父 节点,一个元素也不允许在两个包中重复出现。
相同包内元素不能重名:包所具有的命名空间的作用要求用一个包 中的同种类元素名称必须是唯一的。
包内元素要紧密联系:分在同一个包中的元素应该具有某些相同的 性质,即包的高内聚性。
包与包尽可能保持独立:包和包之间需要尽可能减少耦合度,要求 包内元素与外部元素有尽可能少的依赖关系。
DataType
+ Intege 元素的分包原则
包的概念
pkg Logical View
包是用于把模型本身组织成层次结构的通用机制, PackageName 它不能执行。
PackageName
+ ContentA + ContentB
包名:与类图相似,包有简单名与路径名两种命 pkg Logical View
PackageB
包的依赖关系
容易出现的问题:循环依赖
pkg Logical View PackageA
循环依赖的出现是令人困惑、也是非常容易
产生错误的。尤其是当依赖关系表示包的引 pkg Logical View PackageA
入时,循环依赖会导致将模型转化成代码后

面向对象练习题

面向对象练习题

面向对象练习题及答案一、用例图1.请就以下需求建立用例图:一个新的音像商店准备采用计算机系统向比较广泛的人群销售或租借录像带和光碟。

该音像商店将存有大约1000 盘录像带和500 张光碟,这些订购涉及多家订购商。

所有的录像带和光碟都有一个条码,可以使用条码扫描仪来支持销售和返还,客户会员卡也同时条码化。

客户可以预定录像带并在指定日期来取。

系统必须拥有灵活的搜索机制来回答客户的询问,包括关于该音像商店还没有进货的电影(但可能是已经请求订购了)。

评分标准:画图格式标准3 分,用例全面正确4 分,角色与用例之间的关系正确3 分2.试用用例图描述小型图书资料管理系统。

某学院打算开发一个小型图书资料管理系统MiniLibrary,该系统基于Internet实现教师和学生对各种图书资料的借阅、查询和管理。

图书管理员负责管理各种图书资料,查询图书资料信息,并进行图书的借阅管理。

注册用户可以通过Internet 随时查询图书资料信息和个人借阅情况,预订目前借不到的图书资料,并可以快捷地查找和浏览所需要的电子资料。

系统可以提供适当的浏览器供用户阅读电子文献资料。

3.试用用例图描述系统简介:航空公司为给旅客乘机提供方便,需要开发一个机票预定系统。

各个旅行社把预定机票的旅客信息输入到系统中,系统为旅客安排航班。

当旅客交付了预订金后,系统打印出取票通知和帐单给旅客,旅客在飞机起飞前一天凭取票通知和帐单到航空公司交款取票,系统核对无误即打印出机票给旅客。

此外航空公司为随时掌握各个航班飞机的乘载情况,需要定期进行查询统计,以便适当调整。

技术要求和限制条件(1)在分析系统功能时要考虑有关证件的合法性验证(如身份证、取票通知和交款发票)等。

(2)对于本系统还应补充一下功能:1)旅客延误了取票时间的处理2)航班取消后的处理4 .请就此需求建立功能模型:某报社采用面向对象技术实现报刊征订的计算机管理系统,该系统基本需求如下:报社发行多种刊物,每种刊物通过订单来征订,订单中有代码、名称、订期、单价、份数等项目,订户通过填写订单来订阅报刊。

面向对象测试题及答案

面向对象测试题及答案

面向对象测试题及答案一、选择题(每题2分,共20分)1. 面向对象编程(OOP)的核心概念不包括以下哪一项?A. 类B. 继承C. 多态D. 过程2. 在Java中,以下哪个关键字用于定义类?A. classB. typeC. structD. interface3. 下列哪个选项不是Java中访问控制的关键字?A. publicB. privateC. protectedD. global4. 封装是面向对象编程的一个重要特性,它主要指的是:A. 将数据和操作数据的方法组合在一起B. 将所有数据都设为公开访问C. 只允许通过特定的方法访问数据D. 将数据和方法分离5. 在Java中,以下哪个不是构造方法的特点?A. 与类名相同B. 没有返回类型C. 可以重载D. 可以被继承6. 继承在面向对象编程中允许:A. 一个类只能继承一个类B. 一个类可以继承多个类C. 一个类可以继承多个接口D. 一个类可以同时继承多个类和接口7. 接口在Java中的主要作用是:A. 定义类B. 实现多继承C. 定义方法的实现D. 定义方法的签名8. 以下哪个是Java中实现多态的方式?A. 继承B. 接口C. 重载D. 重写9. 抽象类在Java中不能:A. 被实例化B. 包含抽象方法C. 包含具体方法D. 被继承10. 下列哪个不是Java集合框架中接口?A. ListB. SetC. MapD. Array二、简答题(每题5分,共30分)1. 简述面向对象编程的三大特性。

2. 解释什么是多态,并给出一个Java中多态的例子。

3. 什么是封装?封装在Java中是如何实现的?4. 什么是接口?接口和抽象类有什么区别?5. 什么是构造方法?构造方法的作用是什么?6. 什么是继承?继承在Java中是如何实现的?三、编程题(每题25分,共50分)1. 编写一个Java程序,定义一个名为`Car`的类,包含以下属性和方法:- 属性:品牌(String类型),颜色(String类型),速度(int 类型)- 方法:启动汽车(startCar),加速(accelerate),减速(decelerate)2. 在上述`Car`类的基础上,创建一个名为`ElectricCar`的子类,继承`Car`类,并添加一个额外的属性:电池电量(int类型),并重写`startCar`方法以显示电动汽车启动的信息。

客户关系管理第七章习题及答案

客户关系管理第七章习题及答案

客户关系管理第七章习题及答案第七章练习题⼀、选择题:1.在数据仓库中,所有数据都是围绕⼀定的进⾏组织的A 主题B 主键C 外键D 视图2.对于DSS,是⾮常重要的A 最新数据B 历史数据C 分析数据D 多媒体数据3. 是从外部数据中收据数据,它是数据仓库中数据综合的⼀种类型A 数据提取B 数据清洗C 数据抽取D 数据切割4. 是关于数据的数据A 外部数据B 内部数据C 元数据D 纯数据5.数据粒度有两种形式,其中⼀种形式的数据粒度是⾯向的A OLTPB CRMC OLAPD ERP6. 数据集市的数据直接来源于中央数据仓库A 独⽴的B 依赖的C 内部的D 中央的7.数据仓库的是具有层次性的A 主键8.由各维度的取值和变量值构成A 维成员B 维C 事实D 索引9. 技术的核⼼是多维分析A OLAPB CRMC OLTPD ERP10.三种多维数据模型中,最为流⾏A 星型模型B 雪花型模型C 星座模型D ⽹型模型11.由于的应⽤,数据需要定期的从数据仓库中导⼊多维数据库中A OLAPB OLTPC CRMD ERP12.由类和类之间的关系构成的模型称为A 关系模型B 类模型C ER模型D 对象模型13. 的设计是数据仓库模型设计的第⼀步A 部门模型B 类模型C 企业模型D 对象模型14. 的选取是模型设计中极为重要的⼀部分A 主题15.⽆论数据仓库以怎样的数据模型组织数据,最终还是以各种来完成的A 表空间B 类C 变量D 表16.在中,只有⼀个事实表,每个维表都与事实表直接连接A 星型模型B 雪花型模型C 星座模型D ⽹型模型17. 中的数据是最丰富的、最详细的A 事实数据库B 关系数据库C ⾼级数据库D 数据仓库18.数据挖掘的基础是A OLAPB OLTPC ⼈⼯智能D 数据仓库19.对⼀组数据的集合分组成为有类似的对象组成的多个类的过程称为A 分类B 汇集C 类分析D 聚类20. 也常常作为数据挖掘的第⼀部,对数据进⾏预处理A 分类分析B 关联分析C 聚类分析D 孤⽴点分析⼆、填空1.数据仓库(data warehouse)是⼀个⾯向主题的(subject oriented)、集成的(integrated)、⾮易失的(non-volatile)、随时间变化的(time variant)数据集合,⽤于。

第7章 面向对象学习方法学

第7章 面向对象学习方法学

第七章面向对象学习方法学面向对象方法学的出发点和基本原则,是尽可能按照人类的习惯思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,也就是使描述问题域空间与实现解法的解空间在结构上尽可能一致.与传统的结构化方法相比,使用面向对象方法开发的软件,其稳定性,可修改性和可重用性都比较好.本章内容主要包括:传统方法学的缺点,面向对象的基本概念,面向对象模型.7.1 基础知识7.1.1 传统方法学的缺点结构化几其他方法学的本质,是在具体的软件开发之前,通过需求分析预先定义软件需求.然后一个一个阶段地开发用户所需要的软件,实现预先定义的软件需要.过去的经验需要告诉我们,结构化及其他方法学并不能完全消除软件危机.结构化及其他方法学仍然有许多不足之处.1.问题的表现1)生产效率低在生命周期方法学中,特别重视软件开发的阶段性.为了提高了软件开发的效率,减少重大返工次数,强调必须早每个阶段结束之前进行评估.从而开发过程中实行严格的质量管理,确实提高了许多软件的开发的成功率.但是,时间表明,开发高利率仍然很有用.2)不能满足用户需要实践表明,在开发需要模糊或需求动态变化的系统时,软件系统的结果往往不能满足用户需求的变化.主要表现在两个方面:一种是开发人员不能完全获得彻底理解用户的需要,以至开发的软件系统与用户预期的系统不一致;另一种表现是,所开发的系统不能适应用户需求变化,系统的稳定性和可扩充性不能满足需要.3)软件服用就是将已有的软件成分用于构造新的软见系统.软件复用是节约人力,提高软件效率的重要途径.结构分析.设计,几乎每一次开发一个系统时都需要针对这个具体的系统做大量的重复劳动..思维成果的可复用性差.4)软件很难维护实践经验告诉我们,即使是用生命周期方法学开发出来的软件,维护起来仍然相当困难,软件维护成本很高.2.问题的原因1)结构化技术本身的问题结构分析和设计技术的基本思想是从目标系统整体功能的单个处理着手,自顶向下不断的把复杂的处理分解为子处理,一层一层的分解下去,直到剩下若干个容易实现的子处理为止。

php面向对象的题库判断题

php面向对象的题库判断题

当提供PHP 面向对象的判断题时,以下是一些可能的题目及其答案:面向对象编程(OOP)是一种编程范式,它将数据和操作封装在对象中。

(正确)在PHP 中,可以使用关键字class 来定义一个类。

(正确)在PHP 中,类成员可以被标记为public、protected 或private。

(正确)public 成员变量和方法可以在类外部直接访问。

(正确)private 成员变量和方法只能在类的内部访问,外部无法直接访问。

(正确)protected 成员变量和方法可以在类的子类中访问,但在类外部无法直接访问。

(正确)构造函数是在对象创建时自动调用的特殊方法,通常用于执行初始化操作。

(正确)在PHP 中,使用new 关键字来创建一个对象的实例。

(正确)静态方法可以使用类名而不是实例来调用,通常用于执行与类相关的操作而不是实例相关的操作。

(正确)抽象类是不能被实例化的,通常用于定义一组方法的接口,由子类实现。

(正确)接口是一种特殊类型的抽象类,它只包含方法的签名而没有具体实现。

(正确)PHP 支持多继承,一个类可以同时继承多个父类。

(错误)final 关键字可以用于标记类,表示它不能被继承,或者用于标记方法,表示它不能被子类重写。

(正确)使用extends 关键字来创建一个类的子类。

(正确)PHP 支持魔术方法,如__construct(构造函数)和__destruct(析构函数),用于执行特殊的操作。

(正确)请注意,以上是一些可能的PHP 面向对象编程的判断题示例,正确答案在括号中标明。

确保在提供这些题目时,根据学生的学习水平和课程内容进行适当的调整和扩展。

第七章 判断题-面向对象2

第七章 判断题-面向对象2

第七章判断题1.子类可以从多个超类中派生出来。

()2.protected类型的实例变量或方法只能有声明该变量或方法的类本身及其子类访问。

()3.当一个超类成员不适合该子类时,子类会以恰当的方式重新定义它。

()4.超类对象的集合通常比它的任何一个子类对象集合大。

()5.Java的每个子类的构造函数都要显式的调用它的直接超类的构造函数。

()6.在子类中可以用完全相同的signature重新定义一个超类方法,这称为方法的覆盖(override)。

()7.对子类实例化对象需要调用超类的构造函数进行初始化工作,完成对子类中的超类实例变量的初始化,则子类可以继承超类的构造函数。

()8.声明为final的类不能是超类。

()9.抽象类可以实例化对象。

()10.Java提供了一种称为“内部类”的机制,使类可以在其他类中定义。

()第七章选择题1.如果超类不允许其通过继承的方式产生的子类访问它的某些成员,那么它必须以什么方式声明该成员。

A. publicB. privateC. protectedD. static2.如果在你的类的层次结构的类中定义了finalize方法,它总是被定义为什么类型以便子类能访问该方法。

A. publicB. privateC. protectedD. static3.声明为final的变量不能在子类中覆盖,声明为()和()的方法是隐式的final。

A. public privateB. private protectedC. protected staticD. static private4.继承性使▁▁成为可能,它不仅节省开发时间,而且也鼓励人们使用已经验证无误和调试过的高质量软件。

A.节省时间B.软件复用C.软件管理D.延长软件生命周期5.如果Alpha类继承Beta类,Alpha类被称为▁▁类。

A.超类B.子类C.系统D.用户自定义6.在上题中,Beta类被称为▁▁类。

A.超类B.子类C.系统D.用户自定义7.四种成员访问形式是▁▁。

java各章练习题

java各章练习题

java各章练习题Java是一种跨平台的面向对象编程语言,具有简洁、高效和可靠性的特点,因此受到广泛应用。

为了更好地掌握Java编程的技巧和知识,经常进行练习是非常必要的。

本文将为大家整理各章练习题,帮助大家深入学习和理解Java。

第一章绪论1. 请简要介绍Java编程语言的起源和发展。

2. Java和C++有哪些相似之处和不同之处?第二章 Java语言基础1. 请编写一个Java程序,在屏幕上输出“Hello, World!”。

2. 请解释Java中的基本数据类型有哪些,并给出各个数据类型的范围。

第三章控制语句1. 请编写一个Java程序,使用if-else语句判断一个数是奇数还是偶数。

2. 请编写一个Java程序,使用for循环计算1到100之间所有奇数的和。

第四章数组1. 请编写一个Java程序,创建一个包含5个元素的整型数组,并输出数组中的所有元素。

2. 请编写一个Java程序,交换一个整型数组中的最大值和最小值,并输出交换后的数组。

第五章面向对象编程1. 请编写一个Java类,表示一个学生,包含学生的姓名、年龄和成绩等属性。

2. 请编写一个Java程序,创建一个学生对象,并调用其成绩计算方法,输出学生的总成绩。

第六章异常处理1. 请编写一个Java程序,读取一个整数,并使用try-catch语句处理可能出现的输入异常。

2. 请解释Java中的异常处理机制,并列举几种常见的异常。

第七章文件输入输出1. 请编写一个Java程序,通过文件输入输出,实现对一个文本文件的复制。

2. 请解释Java中的字节流和字符流的区别,并说明它们的应用场景。

第八章多线程编程1. 请编写一个Java程序,创建两个线程,分别输出1到50和51到100之间的所有数字。

2. 请解释Java中的线程同步机制,并给出使用synchronized关键字的示例。

第九章网络编程1. 请编写一个Java程序,使用Socket套接字实现简单的客户端和服务端通信。

2-面向对象基础测试题和答案

2-面向对象基础测试题和答案

2-面向对象基础测试题和答案2-面向对象基础测试题和答案共40道选择题,每题2.5分。

多选题有错则全错,全对才满分. 面向对象部分测试题1.下面描述函数重写错误的是CA. 要有子类继承或实现B. 子类方法的权限必须大于等于父类的权限C. 父类中被private权限修饰的方法可以被子类重写D. 子类重写接口中的抽象方法,子类的方法权限必须是public的2.关于封装下面介绍错误的是(D )。

A. 封装将变化隔离B. 封装提高重用性。

C. 封装安全性D. 只有被private修饰才叫做封装3.试图编译运行下面的代码会发生什么情况Dpublic class MyClass{static int i;public static void main(String[] args){System.out.println(i);}}A. 错误,变量i没有被初始化B. 输出nullC. 输出1D. 输出04.在Java中,下面对于构造函数的描述正确的是(D)。

A. 类必须显式定义构造函数B. 构造函数的返回类型是voidC. 构造函数和类有相同的名称,并且不能带任何参数D. 一个类可以定义多个构造函数5.下面Java代码的运行结果是(C )。

class Penguin {private String name=null; // 名字private int health=0; // 健康值private String sex=null; // 性别public void Penguin() { //是一般方法,不是构造方法health = 10;sex = "雄";System.out.println("执行构造方法。

");}public void print() {System.out.println("企鹅的名字是" + name +",健康值是" + health + ",性别是" + sex+ "。

面向对象2 期末考试试题及参考答案

面向对象2 期末考试试题及参考答案

面向对象程序设计(专科)复习题二一、单选题1.下列关于友元函数的说法,正确的是()。

()A、提高程序的运行效率B、增强类的封装性C、实现数据的隐藏性D、增加成员函数的种类2.下列关于在类中定义的静态数据成员的说法,正确的是()()A、该类的每个对象都有一个静态数据成员B、对象创建时产生C、在类外进行初始化D、既可以在类外初始化,也可以在类内初始化3.有如下类定义:class Point{int x_, y_;public:Point():x_(0), y_(0){}Point(int x, int y = 0):x_(x), y_(y){}};若执行语句:Point a(2), b[3], *c[4]; 则Point类的构造函数被调用的次数是():()A、2次B、3次C、4次D、5次4.若类B公有继承自类A,则定义B类对象和撤销B类对象时,调用构造函数和析构函数的次序为()。

()A、A B; B AB、A B; A BC、B A; A BD、B A; A B5.在公有派生的前提下,下列说法错误的是()。

()A、在一个赋值语句中,等号的左边是一个基类对象时,右边可以是一个派生类对象B、若B是A的派生类,且有默认的构造函数,则语句A &a = *new BC、在一个返回值为基类指针的函数中,可以返回一个派生类对象的地址D、在调用一个形参类型为派生类引用的函数时,可以将一个基类对象作为实参6.类B是类A的公有派生类,类A和类B中都定义了虚函数func(),p是一个指向类A 对象的指针,则p->A::func()将()()A、调用类A中的函数func()B、调用类B中的函数func()C、根据p所指的对象类型而确定调用类A中或类B中的函数func()D、既调用类A中函数,也调用类B中的函数7.下列不能作为类的成员的是()。

()A、自身类对象的指针。

软件工程简答题答案第五版

软件工程简答题答案第五版

软件工程简答题答案第五版软件工程简答题第一章绪论1.什么是软件危机?软件危机有什么表现?软件危机产生的原因是什么?答:所谓软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

主要是指如何开发软件,怎样满足对软件日益增长的需求,如何维护数量不断膨胀的先有软件。

表现:(1)对于软件开发的成本和进度的估计很不准确。

(2)开发的软件产品不能完全满足用户要求,用户对已完成的软件系统不满意的现象常常发生。

(3)开发的软件可靠性差。

(4)软件通常没有适当的文档资料。

(5)软件的可维护性差。

(6)软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势。

原因:软件开发中遇到的问题因找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,导致了软件危机。

2.简述软件的发展过程。

答:软件生产的发展划分为三个年代:(1)程序设计时代:这一时期,软件的生产主要是个体手工劳动的生产方式。

(2)程序系统时代:由于计算机的应用领域不断扩大,软件的需求也不断增长,软件由于处理的问题域扩大而使程序变得复杂,设计者不得不由个体手工劳动组成小集团合作,形成作坊式生产方式小集团合作生产的程序系统时代。

(3)软件工程时代:软件工程时代的生产方式是采用工程的概念、原理、技术和方法,使用数据库、开发工具、开发环境、网络、分布式、面向对象技术来开发软件。

3.什么叫软件工程?软件工程是如何克服软件危机的?答:软件工程是将系统的、规范的、可度量的工程化方法应用于软件开发、运行和维护的全过程及上述方法的研究。

为了克服软件危机,人们从其他产业的工程化生产得到启示,采用工程的概念、原理、技术和方法来开发和维护软件。

4.软件工程的目标是什么?软件工程有哪些原则?答:软件工程的目标是:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并满足用户需求的软件产品。

原则如下:抽象、模块化、信息隐藏、局部化、完整性、一致性和可验证性。

第七章+客观题作业

第七章+客观题作业
单元测试;模块测试
第2空:
集成测试
第3空:
确认测试;验收测试
第4空:
平行运行
解析:
7、独立路径是指包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条()的边的路径。
正确答案:
第1空:
在定义该路径之前不曾用过
解析:
8、自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和()策略。
正确答案:A
解析:
三、判断题(共
1、编码风格由个人喜好决定,没有固定格式。
正确答案:错误
解析:
2、判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。
正确答案:正确
解析:
3、应该尽量使用机器语言编写代码,提高程序运行效率,而减少高级语言的使用。
正确答案:错误
解析:
4、在模块测试的过程中,采用自底向上的测试比自顶向下的测试好。
正确答案:B
解析:
10、为了提高软件测试的效率,应该()。
A、随机地选取测试数据
B、取一切可能的输入数据作为测试数据
C、在完成编码以后制定软件的测试计划
D、选择发现错误可能性最大的数据作为测试用例
正确答案:D
解析:
11、黑盒测试法是根据程序的()来设计测试用例的。
A、应用范围
B、内部逻辑
C、功能
D、输入数据
A、证明了被测试程序正确无误
B、说明了被测试程序符合相应的要求
C、未发现被测程序的错误
D、发现了至今为止尚未发现的错误
正确答案:D
解析:
15、下面几种白盒测试技术,哪种是最强的覆盖准则()。
A、语句覆盖
B、条件覆盖

java面向对象试题及答案

java面向对象试题及答案

java面向对象试题及答案一、单选题(每题2分,共10分)1. 在Java中,下列哪个关键字用于定义一个类?A. classB. interfaceC. structD. enum答案:A2. Java中,哪个关键字用于定义一个私有方法?A. privateB. publicC. protectedD. default答案:A3. 下列哪个选项不是Java中的访问修饰符?A. privateB. publicC. protectedD. static答案:D4. 在Java中,哪个关键字用于实现多态?A. abstractB. finalC. staticD. interface答案:A5. 在Java中,下列哪个关键字用于定义一个接口?A. classB. interfaceC. structD. enum答案:B二、多选题(每题3分,共15分)1. 在Java中,下列哪些关键字用于定义一个类的方法?A. publicB. privateC. protectedD. static答案:A, B, C, D2. 下列哪些关键字用于实现类的继承?A. extendsB. implementsC. abstractD. final答案:A3. 在Java中,下列哪些关键字用于定义类的成员变量?A. privateB. publicC. protectedD. static答案:A, B, C, D4. 下列哪些关键字用于定义类的构造方法?A. constructorB. thisC. newD. super答案:B, D5. 在Java中,下列哪些关键字用于定义接口的常量?A. privateB. publicC. staticD. final答案:B, C, D三、判断题(每题2分,共10分)1. Java中,一个类可以继承多个类。

(错误)2. Java中,接口可以继承接口。

(正确)3. Java中,一个类可以继承多个接口。

2020年秋冬智慧树知道网课《面向对象程序设计(西安理工大学)》课后章节测试满分答案

2020年秋冬智慧树知道网课《面向对象程序设计(西安理工大学)》课后章节测试满分答案

一章测试1【单选题】(2分)()是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。

A.封装性B.多态性C.继承性D.抽象性2【单选题】(2分)编译时的多态性是通过()来实现的。

A.多态B.重载C.组合D.继承3【单选题】(2分)运行时的多态性是通过()来实现的。

A.静态函数B.虚函数C.纯虚函数D.友元函数4【单选题】(2分)()是对一组具有共同属性特征和行为特征的对象的抽象。

A.静态函数B.成员函数C.类D.对象5【单选题】(2分)()是一个类所描述的一个具体的对象。

A.实例B.对象C.成员函数D.类6【单选题】(2分)()就是从众多的事物中抽取出共同的、本质性的特征,舍弃其非本质的特征。

A.继承B.抽象C.封装D.多态7【单选题】(2分)子类继承了多个父类的数据结构和方法,则称为()。

A.封装B.抽象C.多重继承D.单继承8【单选题】(2分)面向对象设计中,对象就是(),它是把数据结构和操作这些数据的方法紧密地结合在一起所构成的模块。

A.操作B.模块C.方法D.抽象9【单选题】(2分)把面向对象思想应用于软件开发过程中,指导开发活动的系统方法,简称()方法。

A.其它都不对B.面向对象C.面向过程D.面向应用10【多选题】(2分)面向对象程序设计所涉及的术语有类、对象、方法、()和重载。

A.消息B.属性C.数据D.实例第二章测试1【单选题】(2分)大多数C++程序通常包含()头文件,它包含了所有输入/输出操作所需要的信息。

A.string.hB.ostream.hC.iostream.hD.istream.h2【单选题】(2分)运算符<<左边的操作数是()类的一个对象,右边可以是C++的合法表达式。

A.ostreamB.istreamC.ifstreamD.ofstream3【单选题】(2分)()表示标准输出(非缓冲方式)导出程序信息。

A.cerrB.clogC.cinD.cout4【单选题】(2分)()表示标准输出(缓冲方式),导出程序信息。

数据库原理(山东联盟) 智慧树网课章节测试答案

数据库原理(山东联盟) 智慧树网课章节测试答案

1、选择题:对于DB、DBS、DBMS的关系,下列哪一种描述是正确的()选项:A:DB包括DBS、DBMSB:DBS包括DB、DBMSC:DBMS包括DBS、DBD:DBS包括DB答案: 【DBS包括DB、DBMS】2、选择题:在数据库中存储的是()。

选项:A:数据B:信息C:数据与信息D:数据以及数据之间的联系答案: 【数据以及数据之间的联系】3、选择题:Oracle数据库是关系数据库。

()选项:A:对B:错答案: 【对】4、选择题:数据库管理员的主要职责是查询数据。

()选项:A:对B:错答案: 【错】5、选择题:文件系统与数据库系统的重要区别是数据库系统具有()。

选项:A:数据结构化B:数据无冗余C:数据共享性D:数据独立性答案: 【数据结构化】1、选择题:最常用的一种基本数据模型是关系数据模型,它用统一的()结构来表示实体及实体之间的联系。

选项:A:链表B:网络C:图D:二维表答案: 【二维表】2、选择题:若在实体R的诸属性中,属性A不是R的主键,是另一个实体S 的主键,则称A为R的()。

选项:A:候选码B:外键C:非主属性D:主属性答案: 【外键】3、选择题:自然连接是构成新关系的有效方法。

一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的()。

选项:A:元组B:行C:记录D:属性答案: 【属性】4、选择题:关系运算中花费时间可能最长的运算是()。

选项:A:投影B:选择C:笛卡尔积D:除答案: 【笛卡尔积】5、选择题:外键约束必须和另一表中的主键约束共同使用。

( )选项:A:对B:错答案: 【对】1 【单选题】下面SELECT语句中哪个子句可以包含子查询。

AWHEREBORDERBYCSELECTDGROUPBY答案:WHERE2 【单选题】嵌套查询的子查询结果记录个数是。

A多个记录B一个记录C由子查询的WHERE子句而定D与FROM子句指定的表的记录个数相答案:由子查询的WHERE子句而定3 【单选题】在SQL中,数据更新语句是。

面向对象习题

面向对象习题

面向对象习题单项选择题1.什么不是面向对象程序设计的主要特征(D)A.封装B.继承 C 多态D结构2.UML中有四种关系是:依赖,泛化,关联和(C)A.继承 B.合作 C.实现 D.抽象3. 在UML中,(B)图显示了一组类,接口,协作以及它们之间的关系.A. 状态图B.类图C.用例图D.部署图4. 软件生存期包括计划,需要分析和定义(B),编码,软件测试和运行维护.A. 软件开发B.软件设计(详细设计) C软件支持D软件定义5. ( A )模型的缺点是缺乏灵活性,特别是无法解决软件需要不明确或不准确的问题.A.瀑布模型B原型模型 C 增量模型D螺旋模型6. 下图是(B)A类图B用例图C活动图D状态图7.下面哪个不是UML中的静态视图(A)A. 状态图B用例图C对象图D类图8.下列关于状态图的说法中,正确的是(C)A.状态图是UML中对系统的静态方面进行建模的五种图之一.B. 状态图是活动图的一个特例,状态图中的多数状态是活动状态.C.活动图和状态图是对一个对象的生命周期进行建模,描述对象活动时间变化的行为.D.状态图强调对有几个对象参与的活动过程建模,而活动图更强调对单个瓜型对象建模.9.对反应型对象建模一般使用(A)图A.状态图B顺序图C活动图D类图10.类图应该画在Rose的哪种视图中(B)A. Use Case View B.Logic View C .Component View D. Deployment View11.类通常可以分为实体类,(C)和边界类.A. 父类B.子类C控制类D祖先类12.顺序图由类角色,生命线,激活期和(B)组成A.关系B.消息C.用例D.实体13.( D)是系统中遵从一组接口且提供实现的一个物理部件,通常指开发和运行时类的物理实现.A部署图 B.类 C.接口D.组件14.关于协作图的描述,下列哪个不正确(B)A.协作图作为一种交互图,强调的是参加交互的对象的组织.B. 协作图是顺序图的一种特例.C. 协作图中有消息流的顺序号.D. 在Rose工具中,协作图可在顺序图的基础上按”F5”键自动生成.15.(C)是一组用于描述类或组件的一个服务的操作.A.包 B. 节点 C. 接口 D.组件16. 一个对象和另一个对象之间,通过消息来进行通信,消息通信在面向对象的通信中C17. D18. 下图中的空心箭头连线表示(A)关系A.泛化 B 包含C扩展D实现19.组件图展现了一组组件之间组件和依赖,它专注于系统的(B)实现图.A.动态 B.静态 C 基础D实体20. 下列关于类方法的声明,不正确的是 ( C )A.方法定义了类所许可的行动B.从一个类所创建的所有对象可以使用同一组属性和方法C.每个方法应该有一个参数D.如果在同一个类中定义了类似的操作,则他们的行为应该是类似的第二题:填空1.面向对象系统包含的3个要素有:对象,类和继承.2.OOA模型的五个层次有:主题层,结构层,服务层,属性层和类及对象层.3.UML的全称是:Unified Modeling Language4.组件是被节点执行的事物.5.构造,析构6.UML提供一系列的图支持面向对象的分析与设计,其中(类图)给出系统的静态设计视图;(用例图)对系统的行为进行组织和建模是非常重要的;(序列图)和(协作图)都是描述系统动态视图的交互图,其中(序列图)描述了以时间顺序组织的对象之间的交互活动,(协作图)强调收发消息的对象的组织结构.7.在协作图中通过(消息编号)表示出消息的时间顺序.8.UML中的交互图有顺序图和协作图两种.9.在UML提供的图中,(用例图)用于描述系统与外部系统及用户之间的交互,(序列图)用于按时间顺序描述对象间的交互.10. 用例图的建模步骤包括寻找参与者,确定用例,分析关系,细化用例规约,精化用例模型.11. 时序图包括对象或(Object),生命线或(Lifeline),激活或(Activation),消息或(Messsage) 12. RUP开发过程中各阶段的核心工作流包括:初始阶段,细化阶段,构造阶段.13. 标准建模语言UML的重要内容可以由哪五类图(共9种图形)来定义:用例图,静态图(包括类图,对象图和包图),行为图,交互图和实现图.14. 动态视图包含交互图和行为图,交互图包括时序图,协作图,状态图和活动图.第三题:分析题1、下面那些特征不能被派生类继承。

OO测验试题及答案

OO测验试题及答案

《面向对象》第二测验题一、选择题(80分,每题4分)1.Java中main()方法的返回值是什么?A. StringB. intC. charD. void2.如何执行下面的程序public class Test{public static void main(String args[]) {System.out.println(args[0]);}}A. java Test.classB. java TestC. java Test aStringD. javac Test3.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的?A. ArrayList myList=new Object();B. List myList=new ArrayList();C. ArrayList myList=new List();D. List myList=new List();4.根据下面代码,找出正确的选项。

public class Test{static Object o;public static void main(String args[]) {System.out.println(o);}}A.编译时将产生错误。

B.编译时正确,运行时将产生错误。

C.程序输出零。

D.程序输出null。

5.根据下面代码,那个选项是正确的?public class Test{static int a[] = new a[10];public static void main(String args[]) {System.out.println(a[0]);}}A.编译时将产生错误。

B.编译时正确,运行时将产生错误。

C.程序输出零。

D.程序输出null。

6.哪个关键字可以抛出异常?A. transientB. finallyC. throwD. static7.对于下列代码, 下述哪些方法可以加入类Child?public class Parent {public int addValue( int a, int b) {int s; s = a+b; return s;}}class Child extends Parent { }A. int addValue( int a, int b ){...}B. public void addValue (int a, int b ){/...}C. public int addValue( int a ){...}D. public int addValue( int a, int b )throws MyException {...}8.哪种布局管理器的容器中的组件大小不随容器大小的变化而改变?A. CardLayoutB. FlowLayoutC. BorderLayoutD. GridLayout9.类Teacher和Student是类Person的子类,则Person p; Teacher t; Student s; //设p,t和s都是非null引用if(t instanceof Person) { s = (Student)t; }最后一条语句的结果是:A. 将构造一个Student对象。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第七章判断题1.子类可以从多个超类中派生出来。

()2.protected类型的实例变量或方法只能有声明该变量或方法的类本身及其子类访问。

()3.当一个超类成员不适合该子类时,子类会以恰当的方式重新定义它。

()4.超类对象的集合通常比它的任何一个子类对象集合大。

()5.Java的每个子类的构造函数都要显式的调用它的直接超类的构造函数。

()6.在子类中可以用完全相同的signature重新定义一个超类方法,这称为方法的覆盖(override)。

()7.对子类实例化对象需要调用超类的构造函数进行初始化工作,完成对子类中的超类实例变量的初始化,则子类可以继承超类的构造函数。

()8.声明为final的类不能是超类。

()9.抽象类可以实例化对象。

()10.Java提供了一种称为“内部类”的机制,使类可以在其他类中定义。

()第七章选择题1.如果超类不允许其通过继承的方式产生的子类访问它的某些成员,那么它必须以什么方式声明该成员。

A. publicB. privateC. protectedD. static2.如果在你的类的层次结构的类中定义了finalize方法,它总是被定义为什么类型以便子类能访问该方法。

A. publicB. privateC. protectedD. static3.声明为final的变量不能在子类中覆盖,声明为()和()的方法是隐式的final。

A. public privateB. private protectedC. protected staticD. static private4.继承性使▁▁成为可能,它不仅节省开发时间,而且也鼓励人们使用已经验证无误和调试过的高质量软件。

A.节省时间B.软件复用C.软件管理D.延长软件生命周期5.如果Alpha类继承Beta类,Alpha类被称为▁▁类。

A.超类B.子类C.系统D.用户自定义6.在上题中,Beta类被称为▁▁类。

A.超类B.子类C.系统D.用户自定义7.四种成员访问形式是▁▁。

A.publicB.privateC.protectedD.包访问8.一个▁▁类的对象可以当作相应的▁▁类对象看待。

A.子系统B.用户系统C.子超D.超用户9.使用多态性减少了▁▁逻辑的使用。

A.forB.whileC.ifD.switch10.在运行时才确定调用那一个方法,这叫做▁▁绑定。

A.静态B.动态C.自动D.快速第七章程序设计题1.根据下面的要求编程实现复数类ComplexNumber.(1) 复数类ComplexNumber的属性• m_dRealPart 实部,代表复数的实数部分。

• m_dImaginPart 虚部,代表复数的虚数部分。

(2)复数类ComplexNumber的方法• ComplexNumber()构造函数,将实数、虚数都置为0。

• ComplexNumber(double r,double I)构造函数,创建复数对象的同时完成复数的实部、虚部的初始化;r为实部的初值,i为虚部的初值。

• getRealPart() 获得复数对象的实部。

• getImaginaryPart() 获得复数对象的虚部。

• setRealPart(double d) 把当前复数对象的实部设置为给定的形参的数字。

• setImaginaryPart(double d) 把当前复数对象的虚部设置为给定的形参的数字。

• complexAdd(ComplexNumber c) 当前复数对象与形参复数的对象相加,所得的结果也是复数值,返回给此方法的调用者。

• complexAdd(double c) 当前复数对象与形参实数的对象相加,所得的结果仍是复数值,返回给此方法的调用者。

• ComplexMinus(ComplexNumber c) 当前复数对象与形参复数对象相减,所得的结果也是复数值,返回给此方法的调用者。

•ComplexMinus(double c) 当前复数对象与形参复数对象相减,所得的结果也是复数值,返回给此方法的调用者。

•ComplexMulti(Complex Number c) 当前复数对象与形参复数对象相乘,所得的结果也是复数值,返回给此方法的调用者。

•ComplexMulti(double c) 当前复数对象与形参复数对象相乘,所得的结果也是复数值,返回给此方法的调用者。

•toString( ) 把当前复数对象的实部、虚部组合成a+bi的字符串形式,其中a和b分别为实部和虚部的数据。

上面的类中使用了面向对象中的那些技术/使用这样的技术有什么好处?。

2.编写Applet程序验证、使用上题中的复数类,接受用户输入的复数的实部和虚部,计算复数与复数、复数与实数的加、减、乘、除的操作。

3.构造函数是否可以被重载?试举例。

第七章判断题答案1.难度:容易答案:错误知识点:Java不支持多重继承。

2.难度:容易答案:正确知识点:protected类型的实例变量或方法只能由声明该变量或方法的类本身及其子类访问。

3.难度:容易答案:正确知识点:超类的继承性。

4.难度:容易答案:正确知识点:超类的概念。

5.难度:适中答案:错误知识点:如果没有显式调用超类的构造函数,Java会自动调用超类的缺省构造函数(隐式调用)。

6.难度:容易答案:正确知识点:覆盖的概念。

7.难度:适中答案:错误知识点:子类不能继承超类的构造函数,然而子类构造函数可以通过super引用调用超类的构造函数。

8.难度:容易答案:正确知识点:final类不能被继承,一个final类中的所有方法都是隐式的fianl。

9.难度:容易答案:错误知识点: 抽象类不需要实例化对象的类,相反,对象能被实例化的类叫做具体类。

10.难度:容易答案:正确知识点:内部类的概念。

第七章选择题答案1.难度:容易答案:B. private知识点:子类不能直接访问它的超类的private成员。

2.难度:适中答案:C. protected知识点:finalize方法的调用。

3.难度:适中答案:D. static private知识点:final方法的定义永远不能改变,编译器按这种方式优化程序。

4.难度:容易答案:B知识点:继承性使软件复用成为可能。

5.难度:适中答案:B知识点:子类的概念。

6.难度:适中答案:A知识点:超类的概念。

7.难度:适中答案:ABCD知识点:四种成员访问形式。

8.难度:容易答案:C知识点:子类和超类的概念。

9.难度:容易答案:D知识点:使用多态性减少了switch逻辑的使用。

10.难度:容易答案:B知识点:动态绑定就是在运行时才确定调用那一个方法。

第七章程序设计题答案1.难度:难答案:ComplexNumber类使用了面向对象的重载技术,实现了类内的抽象复数的运算。

源程序ComplexNumber.javapublic class ComplexNumber{public static void main(String args[]){ComplexNumber cNumber_1 = new ComplexNumber(3,-5);ComplexNumber cNumber_2 = new ComplexNumber(2,2);double d = 10.0;System.out.println(cNumber_1.toString() + " 加" + cNumber_2.toString() + " 等于" + cNumber_plexAdd(cNumber_2).toString());System.out.println(cNumber_1.toString() + " 加" + d + " 等于" +cNumber_plexAdd(d).toString());System.out.println(cNumber_1.toString() + " 减" + cNumber_2.toString() + " 等于" + cNumber_plexMinus(cNumber_2).toString());System.out.println(cNumber_1.toString() + " 减" + d + " 等于" +cNumber_plexMinus(d).toString());System.out.println(cNumber_1.toString() + " 乘" + cNumber_2.toString() + " 等于" + cNumber_plexMulti(cNumber_2).toString());System.out.println(cNumber_1.toString() + " 乘" + d + " 等于" +cNumber_plexMulti(d).toString());}}class ComplexNumber{//域private double m_dRealPart;private double m_dImaginPart;//构造函数ComplexNumber(){m_dRealPart = 0.0;m_dImaginPart = 0.0;}ComplexNumber(double r,double i){m_dRealPart = r;m_dImaginPart = i;}ComplexNumber(ComplexNumber c){m_dRealPart = c.getRealPart();m_dImaginPart = c.getImaginaryPart();}//get,set方法double getRealPart(){return m_dRealPart;}double getImaginaryPart(){return m_dImaginPart;}void setRealPart(double d) {m_dRealPart = d;}void setImaginaryPart(double d) {m_dImaginPart = d;}//复数运算方法ComplexNumber complexAdd(ComplexNumber c){return new ComplexNumber( this.m_dRealPart + c.getRealPart(), this.m_dImaginPart + c.getImaginaryPart());}ComplexNumber complexAdd(double c){return new ComplexNumber( this.m_dRealPart + c, this.m_dImaginPart);}ComplexNumber complexMinus(ComplexNumber c){return new ComplexNumber( this.m_dRealPart - c.getRealPart(), this.m_dImaginPart - c.getImaginaryPart());}ComplexNumber complexMinus(double c){return new ComplexNumber( this.m_dRealPart - c, this.m_dImaginPart);}ComplexNumber complexMulti(ComplexNumber c){return new ComplexNumber( this.m_dRealPart * c.getRealPart() - this.m_dImaginPart * c.getImaginaryPart(), this.m_dRealPart * c.getImaginaryPart() + this.m_dImaginPart * c.getRealPart());}ComplexNumber complexMulti(double c){return new ComplexNumber( this.m_dRealPart * c, this.m_dImaginPart * c);}//toString()public String toString(){return "(" + m_dRealPart + " + " + m_dImaginPart + " i" + ")";}}知识点:面向对象的重载技术。

相关文档
最新文档