面向对象与设计模拟题讲解

合集下载

面向对象程序设计模拟题(C)

面向对象程序设计模拟题(C)

面向对象程序设计模拟题一、简答题:1. 什么是对象?什么是对象的事件和方法?试列举几个常用的事件和方法?答:对象是代码和数据的组合,可以作为一个单位来处理。

对象可以使应用程序的一部分,也可以是整个应用程序。

对象事件是对象可以识别的动作,即窗体、控件和其他对象可以识别的动作。

常用的事件有Click事件、Paint事件、Load事件等。

方法是对象要执行的动作,常见的有Clear、AddIRem、RemoveITem等。

2.VB有几种类型的表达式?请举例说明。

答:VB有5中类型的表达式,它们是算术表达式(例2*Pi*r*r)、字符串表达式(例“欢迎您”)、日期型表达式(例#11/22/98)、关系表达式(”abc”>”abcd”)和布尔表达式(2<=4AND6>3)。

二、填空题:1.单选按钮用于建立一组多选一的选项供用户选择,即在这些选项中,用户一次只能选择其中的一个选项选项,并且必须选择其中一个选项。

同时,当一个单选钮被选中时,其他选项自动关闭。

2.列表框是以列表形式显示一系列项目和信息,用户可通过单击其中某一项来选择的自己所需项目或信息。

在Windows中,使用列表框输出数据是保证数据标准化的重要手段,它是一个重要的输出控件。

在工具栏中它是一个标着带有滚动条的列表图案的按钮。

3.MsgBox 函数用来在对话框中显示消息,等待用户单击按钮,并返回一个整数,告诉程序用户单击了哪一个按钮。

4.在VB中有三种形式的数组,静态数组、动态的数组和控件数组。

静态数组就是指数组元素的个数在程序运行时保持不变,动态数组是指数组中的元素个数在程序运行时可以变化的数组,控件数组是使用VB中某些常用控件创建的数组。

使用静态数组、动态数组前必须要先声明,才能在程序中使用。

5.VB提供了图形控件,如Shape控件和Line控件。

它们提供一定的绘图样式,虽比较简单,但是使用非常方便,不需要编写代码,只要设置相应的属性即可。

(完整word版)面向对象分析与设计试题及其答案

(完整word版)面向对象分析与设计试题及其答案

面向对象分析与设计试题B卷一、单项选择题( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。

每小题2 分,共20 分)1.到20世纪末,面向对象软件工程已经逐渐发展成熟,特别是()的形成和广泛使用,采用面向对象分析与编程的软件开发方法已成为软件开发的主流方法。

A. Simula67语言B. Smalltalk语言C. Java语言D. 统一建模语言(UML)的标准2. 面向对象的运动产生了多种面向对象的语言, 其中()是一种混合性面向对象语言, 既支持面向过程的程序设计方法,又支持面向对象的程序设计方法,有广泛应用的基础和丰富开发环境的支持,因而使面向对象的程序设计能得到很快普及。

A. SmalltalkB. EiffelC. C++D. Java3.下列不属于面向对象技术的基本特征的是()。

A. 封装性B. 模块性C. 多态性D. 继承性4. 面向对象程序设计将描述事物的数据与( ) 封装在一起,作为一个相互依存、不可分割的整体来处理。

A. 信息B. 数据隐藏C. 对数据的操作D. 数据抽象5. 关于面向对象方法的优点,下列不正确的叙述是()。

A. 与人类习惯的思维方法比较一致B. 可重用性好C. 以数据操作为中心D.可维护性好6. ()是从用户使用系统的角度描述系统功能的图形表达方法。

A. 类图B. 对象图C. 序列图D. 用例图7. ( ) 是表达系统类及其相互联系的图示,它是面向对象设计的核心,建立状态图、协作图和其他图的基础。

A.对象图 B. 组件图 C. 类图 D. 配置图8.()描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这些对象之间传递消息的时间顺序。

A.对象图 B. 协作图 C. 状态图 D. 序列图9.()就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示系统中软件和硬件的物理架构。

A. 组件图B. 协作图C. 状态图D. 配置图10. 使用UML进行关系数据库的()时,需要设计出表达持久数据的实体类及其联系,并把它们映射成为关系数据库表(Table)、视图(View)等。

面向对象程序设计模拟题(A)

面向对象程序设计模拟题(A)

面向对象程序设计模拟题一、简答题:1. 在用Visual Basic开发应用程序时,一般分为几步进行?每一步需要完成什么操作?答:在用Visual Basic开发应用程序时,一般分为6步进行。

1、创建工程,设计界面2、设置属性3、编写代码4、运行程序5、保存工程6、编译程序,生成.EXE文件。

2.按作用范围划分,变量分为几类?在什么位置以及如何声明各类变量?答:按作用范围划分,变量分为3类:过程内部使用的变量、模块内部使用的变量和所有模块使用的公用变量。

过程内部使用的变量只在声明它们的过程中才能识别。

这样的变量为局部变量,用Dim或者Static关键字声明它们;模块内部使用的变量使用Private关键字声明模块级变量;用Public关键字声明模块级的变量为公用变量,公用变量中的值可用于应用程序中的所有过程,应在模块顶部的声明段来声明公用(全局)变量。

二、填空题:1.窗体是设计工程的主界面。

用户在这个窗体上设计应用程序的界面。

窗体有自己的属性、事件和方法。

当窗体被装载时运行Load 事件。

当窗体被卸载时运行Unload 事件。

每当鼠标单击对象就会发生Click事件。

每当鼠标双击事件就会发生DblClick事件。

2.计时器控件是一个用来进行定时触发事件的控件,通常用计时器控件来设计与时间有关的应用程序。

在工具箱中它是一个标有秒表图案的工具按钮。

3.标签,是提供在窗体的相对位置上输出文本的的区域,但该区域不能进行编辑。

因而,常用来标识没有标题属性的控件,例如给文本框控件(TextBox)加标题。

标签控件也常用来输出文本。

4.InputBox函数用来在对话框中显示提示,等待用户输入正文或按下按钮,并返回包含文本框内容的String 。

5.VB里有三种坐标系:屏幕坐标系、窗体坐标系以及窗体内部对象坐标系,这三种坐标系都是以其左上角为坐标原点。

6.对话框不是模式的就是无模式的。

对于模式对话框,只有关闭该对话框以后才能继续操作应用程序的其他部分。

面向对象模拟题(东软)

面向对象模拟题(东软)

1、在用例分析模型运用1.M1.用例图中,用例与参加者之间的关系是(A)通信(或者关联)(B)泛化(C)实现(D)运用2、IM1.用例图中,用例之间有三种关系,以下属于用例之间关系的是(A)包含(B)实现(C)通信(D)参加3、UM1.类图中,表示整体与局部关系的是(A)聚合(B)依靠(C)关联(D)继承4、在某信息系统中,存在如下的业务陈述:①一个客户提交O个或多个订单;②一个订单由一个且仅由一个客户提交。

系统中存在两个类:“客户”类和“订单”类。

对应每个“订单”类和“客户”类之间是__________________(A)关联(B)依靠(C)聚集(D)继承5、和都能够表示对象之间的交互,因此他们被合称为交互图(A)依次图类图(B)协作图状态图(C)依次图协作图(D)类图状态图6、1.M1.依次图以二维图表来显示交互。

纵向是时间轴,时间自上而下。

横向显示了代表协作中单个对象的分类角色。

每个对象用方框表示,对象的名字在方框内部,并在名字的下方加下划线。

每个分类角色表现为垂直列o在角色存在的时间内,显示为虚线(A)生命线(B)协作消息(C)激活(D)对象7、MaChine软件公司为BenZ公司的一款跑车设计了一个过程限制的紧急按钮,该按钮的功能依据汽车的行驶状态不同,而具有不同的功能,比如汽车静止时,该按钮可以快速启动汽车;当汽车的时速超过200km∕h 时,该按钮可以在2秒内将车平稳地停下来:当汽车向后行驶时,该按钮可以马上刹车,基于以上功能考虑,架构师Bob在设计该按钮时,应当采纳哪种设计模式(A)吩咐模式(B)状态模式(C)视察者模式(D)外观模式具体8、RiVer软件公司开发一个Web服务器,该服务器能够依据客户端的恳求,执行相应的处理,还可以对同时到达的恳求排队,并对胜利执行的每个恳求记录日志。

系统设计师Bob在设计该系统时,应当运用哪个设计模式以更好地支持对恳求的处理(A)适配器模式(B)视察者模式(C)吩咐模式(D)外观模式9、Wy1.ie学院准备开发一个新的OO课程注册系统,由于开发费用和时间的限制,这个新的课程注册系统将运用已有的一个非OO的课程书目遗留系统(1.egacysystem)所供应的一些功能,因此须要和这个课程书目系统集成。

面向对象分析与设计-模拟题

面向对象分析与设计-模拟题

面向对象分析与设计模拟题一、单选题1.下面描述中()不是使用软件模型的目的.A.可以更好地理解问题B.可以更早地发现错误或疏漏的地方C.可以为最后代码的生成提供依据D.在开发过程中使用面向对象方法[答案]:D2.关于参与者的说法中错误的是().A.参与者是与目标系统交互的人或物B.参与者可以是实际的人,也可以是外部设备,外部系统等C.参与者是用例图的重要组成部分,因此它是目标系统的组成部分D.参与者之间可以存在一定的关系[答案]:C3.状态图中不能表示的概念有().A.动作B.类C.转移D.事件[答案]:B4.计算机(Computer)由中央处理器,内存,软盘,硬盘,显示器,键盘,鼠标等组成.那么Computer类和其它类(CPU,RAM,FloppyDrive,HardDisk,Monitor,Keyboard,Mouse)之间的关系是().A.泛化关系(Generalization)B.实现关系(Realization)C.包含关系(Inclusion)D.聚集关系(Aggregation)[答案]:D5.()是表达系统类及其相互联系的图示,它是面向对象设计的核心,建立状态图,协作图和其他图的基础.A.对象图B.组件图C.类图D.配置图[答案]:C6.继承反映了类间的一种层次关系,而()反映了一种整体与部分的关系.A.继承B.组合C.封装D.多态[答案]:B7.不属于UML结构物件的是().A.交互B.类C.用例D.组件[答案]:A8.内聚表示一个模块()的程度.A.可以被更加细化B.能够适时地完成其功能C.仅关注在一件事情上D.联接其他模块和外部世界[答案]:C9.需求规格说明描述().A.基于计算机系统的功能,性能和约束B.每个子系统的实现C.软件体系结构元素D.系统使用说明[答案]:A10.以下对UML的描述中,正确的是().A.UML是一种软件过程方法B.UML是一种面向对象分析和设计方法C.UML是一种面向对象设计原则D.UML是一种标准化建模语言[答案]:D11.在顺序图中,第一个消息往往由()发出.A.边界对象B.参与者C.实体对象D.生命周期对象[答案]:B12.描述系统架构的建模元素不包括().A.类B.包C.子系统D.包间的依赖关系[答案]:A13.对下图的描述中,错误的是().A.image.java实现了ImageObserver接口B.image.java请求了ImageObserver接口ponent.java实现了ImageObserver接口D.image.java只能通过ImageObserver接口访问component.java [答案]:A14.()对系统的业务数据和业务逻辑进行封装.A.控制对象B.边界对象C.实体对象D.生命周期对象[答案]:C15.不属于敏捷过程特征的是().A.迭代性B.自适应C.过程化开发D.轻量级[答案]:C16.下列事物中一般不是目标系统的外部参与者的是().A.人B.外部设备C.外部系统D.数据存储[答案]:D17.根据下面的代码,可以确定类A与类B之间存在()关系. public class A {private B theB;public void aMethod(){ theB.doSomthing(); }}A.关联B.泛化C.实现D.包含[答案]:A18.面向对象的特点主要概括为().A.可分解性,可组合性,可分类性B.继承性,封装性,多态性C.抽象性,继承性,封装性,多态性D.封装性,易维护性,可扩展性,可重用性[答案]:C19.下面那个图符表示UML中的实现关系?().A.B.C.D.[答案]:C20.()就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示系统中软件和硬件的物理架构.A.组件图B.协作图C.状态图D.配置图[答案]:D21.关于用例与类的对比中()是错误的.A.都属于模型结构元素B.都存在继承关系C.类描述系统的部分静态视图,用例描述系统动态的行为视图D.类描述的是系统的内部构成,用例也可以描述系统的内部构成[答案]:D22.描述对象之间静态联系的是().A.一般-特殊结构B.整体-部分结构C.实例链接D.消息连接[答案]:C23.()可以帮助人们简单方便地复用已经成功的设计或体系结构.A.商业组件B.逆向工程C.设计模式D.需求规格说明[答案]:C24.一个设计得好的面向对象系统具有()特征.A.低内聚,低耦合B.高内聚,低耦合C.高内聚,高耦合D.低内聚,高耦合[答案]:B25.耦合表示一个模块()的程度.A.可以被更加细化B.能够适时地完成其功能C.仅关注在一件事情上D.联接其他模块和外部世界[答案]: D26.在一个课程注册系统中,定义了类CourseSchedule和类Course,其中类CourseSchedule中定义了方法add(c:Course)和方法remove(c:Course),则这两个类之间的关系是().A.泛化关系B.组合关系C.依赖关系D.包含关系[答案]: C27.面向对象程序设计将描述事物的数据与()封装在一起,作为一个相互依存,不可分割的整体来处理.A.信息B.数据隐藏C.对数据的操作D.数据抽象[答案]:C28.()是从用户使用系统的角度描述系统功能的图形表达方法.A.类图B.对象图C.序列图D.用例图[答案]:D29.采用面向对象技术开发的应用系统的特点是().A.重用性更强B.运行速度更快C.占用存储量小D.维护更复杂[答案]:A30.多态性出现在具有()结构的类之间.A.整体-部分B.一般-特殊C.实例链接D.消息连接[答案]:B。

面向对象程序设计知识题及答案解析

面向对象程序设计知识题及答案解析

面向对象程序设计一、选择填空1.关于C++与C语言的关系描述中,(D)是错误的。

(A)C语言是C++的一个子集(B)C语言与C++是兼容的(C)C++对C语言进行了一些改进(D)C++和C语言都是面向对象的2.下面关于对象概念的描述中,(B)是错误的。

(A)对象就是C语言的结构变量(B)对象代表着正在创建的系统中的一个实体(C)对象是一个状态的操作(或方法)的封装体(D)对象之间的信息传递是通过消息进行的3.下面关于类概念的描述中,(D)是错误的。

(A)类是抽象数据类型的实现(B)类是具有共同行为的若干对象的统一描述体(C)类是创建对象的样板(D)类就是C语言的结构类型4.按照标识符的要求,(A)符号不能组成标识符。

(A)连接符(B)下划线(C)大小写字母(D)数字字符5.下列符号中,(C)不可作为分隔符。

(A), (B):(C)?(D);6.在16位机中,int型字宽为(A)字节。

(A)2 (B)4 (C)6 (D)87.类型修饰符unsigned修饰(D)类型是错误的。

(A)char (B)int (C)long int (D)float8.对于int *pa[5];的描述,(D)是正确的。

(A)pa是一个指向数组的指针,所指向的数组是5个int型元素(B)pa是一个指向某数组中第5个元素的指针,该元素是int变量(C)pa[5]表示某个数组的第5个元素(D)pa是一个具有5个元素的指针数组,每个元素是一个int型指针。

9.下列关于指针的运算中,(D)是非法的。

(A)两个指针在一定条件下,可以进行相等或不等的运算。

(B)可以有一个空指针赋值给某个指针。

(C)一个指针可以加上一个整数。

(D)两个指针在一定条件下,可以相加。

10.指针可以用来表示数组元素,下列表示中(A)是错误的。

已知:int a[3][7];(A)*(a+1)[5] (B)*(*a+3) (C)*(*(a+1)) (D)*(&a[0][0]+2) 11.下列表示引用的方法中,(A)是正确的。

C++面向对象程序设计试题带答案(一)

C++面向对象程序设计试题带答案(一)

C++面向对象程序设计模拟试题一一、单项选择题(本大题共10小题,每小题2分,共201.说明虚函数的关键字是()。

A. inlinevirtual C. define D. static2.在每个C++程序中都必须包含有这样一个函数,该函数的函数名为()。

A. mainB. MAINC. nameD. function 3.cout是某个类的标准对象的引用,该类是()。

A. ostream B. istream C. stdout D. stdin4.如果在类外有函数调用CPoint::func();则函数func()是类CPoint的()。

A. 私有静态成员函数B. 公有非静态成员函数C. 公有静态成员函数 B. 友元函数5. 如果class类中的所有成员在定义时都没有使用关键字public、private或protected,则所有成员缺省定义为()。

A. publicB. protectedC. private D.static6.一个类的所有对象共享的是()。

A. 私有数据成员 B. 公有数据成员 C. 保护数据成员 D. 静态数据成员7.动态联编所支持的多态性称为()。

A. 虚函数 B. 继承C. 编译时多态性D. 运行时多态性8.定义类模板时要使用关键字()。

A. const B. newC. deleteD. template9.对虚基类的定义()。

A. 不需要使用虚函数 B. 必须使用虚函数C. 必须使用privatD. 必须使用public10.类型转换函数()。

A. 不能带有参数 B. 只能带一个参数 C. 只能带2个参数D. 只能带3个参数二、判断正误题(本大题共6小题,每小题2分,共12分)1.虚函数在基类和派生类之间定义,且要求函数原型完全一致。

()2.抽象类可以用来直接创建对象。

()3.内联函数中可以出现递归语句。

()4.模板类与类模板的意义完全相同。

()5.常对象只能调用常成员函数。

C++面向对象程序设计试题带答案(四)

C++面向对象程序设计试题带答案(四)

C++面向对象程序设计模拟试题四一、单项选择题(本大题共10小题,每小题2分,共20分)1.下列关于C++函数的说明中,正确的是()。

A)内联函数就是定义在另一个函数体内部的函数 B)函数体的最后一条语句必须是return语句C)调用一个函数之前,如果还没有定义这个函数,必须先声明其原型D)编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式2.假定MyCIass为一个类,那么下列的函数说明中,()为该类的无参构造函数。

A)void MyClass(); B)~MyClass(int n); C)MyClass( ); D)~MyClass( );3.下列叙述中,错误的是()。

A)派生类可以使用private派生B)对基类成员的访问必须是无二义性的C)基类成员的访问能力在派生类中维持不变D)赋值兼容规则也适用于多继承的组合4.当一个类的某个函数被说明为virtual时,该函数在该类及其所有派生类中()。

A. 都是虚函数B. 只有被重新说明为vittual时才是虚函数C. 都不是虚函数D. 上面都不正确5.派生类的构造函数的成员初始化表中,不能包含()。

A)基类的构造函数B)派生类中子对象的初始化C)基类中子对象的初始化D)派生类中一般数据成员的初始化6.下列是重载加法运算符的函数原型声明,其中错误的是()。

A)MyClass operator+(double,double); B)MyClass operator+(double,MyClass);C)MyClass operator+(MyClass,double); D)MyClass operator+(MyClass,MyClass);7.派生类中的成员不能直接访问基类中的()成员。

A)public B)private C)virtual D)protected8.实现运行时的多态性要使用()。

A)重载函数B)析构函数C)构造函数D)虚函数9.如果在类MyClass的外面使用函数调用MyClass::f();则函数f()是类MyClass的()。

面向对象程序设计模拟练习题(含答案)

面向对象程序设计模拟练习题(含答案)

面向对象程序设计模拟练习题(含答案)一、单选题(共50题,每题1分,共50分)1、下列关于JDK和JRE的说法中,错误的是()A、JDK是java开发核心组件,是用来编译解释java程序的核心组件B、JDK包括Java编译器、Java文档生成工具、Java打包工具等C、JRE是个单独的软件,所以安装JDK后,还需要单独安装JRED、JRE是java运行环境,用来支持java程序的运行正确答案:C2、下列File类的构造方法格式,错误的是()A、File(File parent)B、File(String pathname)C、File(String parent,String child)D、File(URI url)正确答案:A答案解析:A选项,正确的应该是File(File parent, String child)3、下列关于静态变量的描述中,错误的是()A、静态变量指的是被static修饰的变量B、静态变量是随着类的加载而加载C、静态变量可以被所有的实例对象共享D、静态变量同成员变量一样,都需要通过实例对象来调用正确答案:D答案解析:静态变量是通过“类名.变量名”“方式调用的。

4、下列对于Runtime的描述中,正确的是()A、每一个Java应用程序运行时都产生一个Runtime类实例B、Runtime实例可以将应用程序和运行环境相结合C、Runtime类有构造函数D、Runtime实例需要被创建后才可以通过getRuntime()方法获取正确答案:A答案解析:Runtime类用于表示虚拟机运行时的状态,它用于封装JVM虚拟机进程。

每次使用java命令启动虚拟机都对应一个Runtime实例,并且只有一个实例,因此该类采用单例模式进行设计,可以通过getRuntime()方法获得一个Runtime实例。

5、下列关于LinkedList类的方法,不是从List接口中继承而来的是()A、toArray()B、pop()C、remove()D、isEmpty()正确答案:B答案解析:pop()方法表示移除并返回此列表的第一个元素,是LinkedList特有的方法。

《面向对象分析与设计》练习题及参考答案.doc

《面向对象分析与设计》练习题及参考答案.doc

《面向对象分析与设计》练习题及参考答案一、思考题:1 ・ How many phases are in eluded in system developme nt? (brief description)2. Describe a system and the comp on ents of a system model.3. What two key comp orients distinguish an in formati on system from an automated information system?4. What is systems analysis and design?5. Who are the six stakeholder groups in information systems?6. What are a system designers and system builder's roles in information systems developme nt?7. What is the system analyst role in systems development as it related to the other stakeholders?8. List the six steps of the general problem-solving approach.9. List two types of quality certification applicable to information systems.10. What are legacy systems? Name two types of problems encountered in legacy systems.11 ・ What is ERP? What is electronic commerce?12. Differentiate between management information systems and decision support systems.13. What role dose a data warehouse play in a decision support system?14. List three focuses for an information systems・15. What is the role of the network in information systems?16. 而向过程的系统分析与设计存在的问题是什么?通过什么00技术来解决?仃•请湎图说明而向对象系统的基本构造。

面向对象程序设计考试模拟题(附参考答案)

面向对象程序设计考试模拟题(附参考答案)

面向对象程序设计考试模拟题(附参考答案)一、单选题(共10题,每题1分,共10分)1、下面关于javac命令作用的描述中,正确的是()。

A、可以执行java程序B、可以将编写好的Java文件编译成.class文件C、可以把文件压缩D、可以把数据打包正确答案:B答案解析:javac命令将java文件编译成java字节码文件。

2、下列关于构造方法的描述,错误的是()A、在构造方法中不能使用return语句返回一个值,但是可以单独使用return作为方法的结束B、一个类中只能定义一个空参数的构造方法C、构造方法的方法名前面没有返回值类型的声明D、一个类中可以定义多个构造方法正确答案:B3、以下关于成员属性与成员方法的描述中,错误的是()A、成员属性我们也叫成员变量,它就是描述对象的特征。

它可以定义在类中,也可以定义在方法中B、成员方法用于描述对象的行为C、在类中定义的变量,我们称为成员变量D、在类中定义的方法,我们称变成员方法正确答案:A答案解析:类中可以定义成员变量和成员方法,其中成员变量用于描述对象的特征,也被称作属性,成员方法用于描述对象的行为,可简称为方法。

定义在类中的变量被称为成员变量,定义在方法中的变量被称为局部变量。

4、FileWriter类的write(int c)方法的作用是()A、写出单个字符B、写入多个C、写入一个整形数据D、写入单个字符正确答案:D答案解析:write(int c)方法用于写入单个字符。

5、下列关于集合的描述中,哪一个是错误的()A、集合按照存储结构可以分为单列集合Collection和双列集合Map。

B、List集合的特点是元素有序、元素可重复。

C、Set集合的特点是元素无序并且不可重复。

D、集合存储的对象必须是基本数据类型。

正确答案:D答案解析:集合可以存储多种数据类型的数据,包括引用数据类型。

6、下列关键字中,哪个不能修饰接口中的成员变量?()A、publicB、staticC、finalD、private正确答案:D答案解析:接口中的成员变量其实是一个常量,用public static final 修饰,所以,用private修饰是错误的。

Java面向对象程序设计模拟试题2及答案

Java面向对象程序设计模拟试题2及答案

Java面向对象程序设计模拟试题2一、单项选择题(本大题共15小题,每小题1分,共15分)1. JVM是指A. Java开发工具B. Java虚拟机C. Java运行环境D. Java编程接口2. Java字节码文件的扩展名是A. cB. exeC. javaD. class3. 在Java中,byte型变量所占的字节数是A. 1B. 2C. 4D. 84. 给定下面代码段,输出j的值是多少int i = 1, j = 0 ;switch(i) {case 1: j += 6;case 2: j += 1;default: j += 2;}System.out.println(j);A. 2B. 6C. 7D. 95. 给定下面代码段,程序运行结果是public class Test {static void leftshift(int i, int j){i <<= j;}public static void main(String[] args){int i = 4, j = 2;leftshift(i,j);System.out.println("i = "+ i);}}A. i = 1B. i = 2C. i = 3D. i = 46. 执行下列程序段后a和b的值为class AB{int a , b ;public void init(int x){a = x ;int b = 5 ;}public void display(){System.out.println("a = "+a+" b = "+b);}}public class ABTest{public static void main(String[] args){AB ab = new AB();ab.init(6);ab.display() ;}}A. a = 5 b = 5B. a = 0 b = 0C. a = 6 b = 5D. a = 6 b = 07. 下列程序段的运行结果为int [][]x ={{1,2},{3,4,5},{6,7,8,9}};int[][]y = x;System.out.println(y[2][1]);A. 3B. 4C. 6D. 78. 执行下列语句后输出的结果是String s = "COMPUTER";System.out.println(s.indexOf(‘M’));A. 0B. 1C. 2D. 39. 下面程序运行结果为class AA{AA(int a){System.out.print(a);}}class BB extends AA{BB(String s){super(88);System.out.print(s);}}public class ConstructorDemo{public static void main(String[] args){BB b = new BB("hello");}}A. 该程序有编译错误B. 88helloC. hello88D. hello10. 下面程序运行结果为class Super{public int i = 0;public Super(String text){i = 1;}}public class Sub extends Super{public Sub(String text){super(“”);i = 2;}public static void main(String[] args){Sub sub = new Sub("Hello");System.out.println(sub.i);}}A. 该程序有编译错误B. 编译成功输出0C. 编译成功输出1D. 编译成功输出211.下面代码在运行时会产生什么异常int m = 100;System.out.println(m / 0);A. ClassNotFoundExceptionB. MathExceptionC. ArithmeticExceptionD. NullPointerException12.有下列一段代码,执行后输出结果为。

面向对象程序设计考试模拟题含参考答案

面向对象程序设计考试模拟题含参考答案

面向对象程序设计考试模拟题含参考答案一、单选题(共50题,每题1分,共50分)1、下列数据结构中,哪一个是ArrayList类的底层实现()A、数组结构B、链表结构C、哈希表结构D、红黑树结构正确答案:A答案解析:ArrayList的底层是数组实现的。

2、Java属于以下哪种语言()A、机器语言B、汇编语言C、高级语言D、以上都不对正确答案:C答案解析:Java是一门高级编程语言。

3、下面关于path和classpath的说法中,错误的是()A、path用来指定java虚拟机(JVM)所在的目录B、classpath用来指定我们自己所写的或要用到的类文件(.jar文件)所在的目录C、在dos命令行中,classpath和path环境变量的查看与配置的方式不相同D、只要设置了classpath这个环境变量系统就不会再在当前目录下查询某个类正确答案:C答案解析:classpath和path环境变量的查看与配置的方式完全相同,都是通过 set关键字实现的。

4、若double val = Math.ceil(-11.9);,则val的值是()A、11.9B、-11.0C、-11.5D、-12.0正确答案:B答案解析:ceil是天花板的意思,表示向上取值,永远是得到大于参数的最小整数。

5、下列集合中,不属于Collection接口的子类的是()A、ArrayListB、LinkedListC、TreeSetD、Properties正确答案:D答案解析:Properties集合属于Map集合的子类。

6、下列关于类与对象的说法中,错误的是()A、类是对某一类事物的抽象描述,而对象则是该类事物的个体。

B、对象是类的实例化。

C、类用于描述多个对象的共同特征,它是对象的模板。

D、类与对象没有什么实际关系。

正确答案:D答案解析:对象是通过类来创建的。

7、下列关于List接口的描述中,错误的是()A、List接口继承自Collection接口,是单列集合。

面向对象分析与设计习题及部分答案

面向对象分析与设计习题及部分答案

《面向对象分析与设计》习题及部分答案第一章 概论1.什么是面向对象方法?面向对象的基本原则主要有哪些?答:面向对象方法是一种运用对象、类、继承、封装、聚合、关联、消息、多态性等概念来构造系统的软件开发方法。

面向对象方法的解决问题的思路是从现实世界中的客观对象(如人和事物)入手,尽量运用人类的自然思维方式来构造软件系统,这与传统的结构化方法从功能入手和信息工程化方法从信息入手是不一样的。

面向对象的基本思想主要有:1)从现实世界中客观存在的事物出发来建立软件系统,强调直接以问题域(现实世界)中的事物为中心来思考问题、认识问题,并根据这些事物的本质特征,把它们抽象地表示为系统中的对象,作为系统的基本构成单位。

这可以使系统直接映射问题域,保持问题域中事物及其相互关系的本来面貌(对象)2)用对象的属性表示事物的性质;用对象的操作表示事物的行为。

(属性与操作)3)对象的属性与操作结合为一体,成为一个独立的、不可分的实体,对外屏蔽其内部细节。

(对象的封装)4)对事物进行分类。

把具有相同属性和相同操作的对象归为一类,类是这些对象的抽象描述,每个对象是它的类的一个实例。

(分类)5)复杂的对象可以用简单的对象作为其构成部分。

(聚合)6)通过在不同程度上运用抽象的原则,可以得到较一般的类和较特殊的类。

特殊类继承一般类的属性与操作,从而简化系统的构造过程及其文档。

(继承)7)对象之间通过消息进行通讯,以实现对象之间的动态联系。

(消息)8)通过关联表示类(一组对象)之间的静态关系。

(关联)2.与传统开发方法比,面向对象方法有什么优点?答:面向对象方法的解决问题的思路是从现实世界中的客观对象(如人和事物)入手,尽量运用人类的自然思维方式来构造软件系统,这与传统的结构化方法从功能入手和信息工程化方法从信息入手是不一样的。

与传统方法相比,面向对象的方法主要优点有:1)从认识论的角度可以看出,面向对象方法改变了人们认识世界的方式;2)语言的发展——鸿沟变窄;3)面向对象方法使得从问题域到计算机间的鸿沟变窄;4)面向对象方法有助于软件的维护与复用;(1)把易变的数据结构和部分功能封装在对象内并加以隐藏,一是保证了对象行为的可靠性;二是对它们的修改并不会影响其他的对象,有利于维护,对需求变化有较强的适应性。

面向对象程序设计试题及答案

面向对象程序设计试题及答案

面向对象程序设计试题及答案一、试题1. 请简要解释面向对象(Object-Oriented)程序设计的概念。

2. 列举面向对象程序设计中的四个基本特征,并分别进行简要描述。

3. 请说明封装(Encapsulation)在面向对象程序设计中的作用和优势。

4. 解释继承(Inheritance)在面向对象程序设计中的概念和用途。

5. 什么是多态(Polymorphism)?请解释多态的概念以及其在面向对象程序设计中的重要性。

6. 简要介绍抽象类(Abstract Class)和接口(Interface)的概念,并说明它们之间的区别。

7. 请解释类(Class)与对象(Object)之间的关系。

8. 在面向对象程序设计中,什么是构造函数(Constructor)?请说明构造函数的作用和使用方法。

9. 请示范一个使用面向对象程序设计的简单实例,并说明你所设计的类的结构和功能。

二、答案1. 面向对象程序设计是一种以对象为中心的编程方法,通过定义表示对象属性和行为的类来组织程序结构,以实现代码的重用性、灵活性和可维护性。

2. (1)封装:将数据和对数据的操作封装在一个类中,通过访问权限控制,保护数据的安全性和完整性。

(2)继承:通过建立类之间的继承关系,实现代码的重用,具有层次性和扩展性。

(3)多态:允许不同类的对象对同一消息作出不同的响应,实现代码的灵活性和扩展性。

(4)抽象:通过抽象类和接口的定义,隐藏对象的具体实现细节,提供统一的接口和规范。

3. 封装的作用是将数据和对数据的操作封装在一个类中,外部无法直接访问类的内部实现细节,只能通过类提供的接口访问和操作数据。

封装的优势包括:(1)提高代码的可维护性和可读性,减少代码的重复。

(2)保护数据的安全性和完整性,防止外部直接对数据进行非法操作。

(3)降低模块之间的耦合度,提高代码的灵活性。

4. 继承是面向对象程序设计中的一个重要概念,它通过建立类与类之间的继承关系,实现代码的重用和扩展。

面向对象程序设计专升本模拟题及参考答案

面向对象程序设计专升本模拟题及参考答案

东北农业大学网络教育学院面向对象程序设计专升本作业题作业题(一)1.述什么是类,并举例说明。

2.简述什么是对象,并举例说明。

3.简述C++中类的成员函数的三种访问方法。

4.阅读程序,简洁回答有关问题:程序:# include <iostream.h> //(1)# include <math.h> //(2)class point { //(3)private: //(4)float X,Y; //(5)public: //(6)point (float xi, float yi ) {X=xi ,Y=yi; } //(7)float GetX() {return X} // (8)float GetY() {return Y} // (9)friend float distance (point & a ,point & b); // (10)}; //(11)void main () //(12){point pl (3.5,5.5), p2 (4.5,6.5); //(13)float d = distance (p1, p2); //(14)cout << “The distance is ” << d;//(15)}float distance (point & a ,point & b) //(16){float dx = a.X – b.X; //(17)float dy = a.Y – b.Y; // (18)return sqrt ( dx * dx + dy * dy ); // (19)}问题:1)第(10)行的作用,有什么特点?2) 如果把它改写成这个类的成员函数,应该怎样改?4.创建一个Employee类,该类中有字符数组,表示姓名、街道地址、市、省和邮政编码。

把表示构造函数、ChangeName() 、Display()的函数原型放在类定义中,构造函数初始化每个成员,Display()函数把完整的对象数据打印出来。

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

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

简答题1、传统的结构化程序设计的优点和缺点是什么?优点:(1)这种程序设计方法力求算法描述精确。

(2)对每一子过程模块简单进行程序正确性证明。

缺点:(1)这种程序设计方法本质上是面对“过程”的,而“过程”和“操作”又是不稳定和多变的,因此不能干脆反映人类求解问题的思路。

(2)程序代码可重用性差。

程序中除少数标准库函数外,每设计一个程序时,程序员几乎从零做起。

即使重用代码,通常也是通过拷贝或编辑重新生成一份。

(3)维护程序的一样性困难。

该种方法将数据与对数据进行处理的程序代码分别。

2、什么是对象?每个对象都具有属性(Attribute)和方法(Method)这两方面的特征。

对象的属性描述了对象的状态和特征,对象的方法说明白对象的行为和功能,并且对象的属性值只应由这个对象的方法来读取和修改,两者结合在一起就构成了对象的完整描述。

3、什么是消息?在面对对象的程序设计中,由于对象描述了客观实体,它们之间的联系通过对象间的联系来反映。

当一个对象须要另外一个对象供应服务时,它向对方发出一个服务恳求,而收到恳求的对象会响应这个恳求并完成指定的服务。

这种向对象发出的服务恳求就称为消息。

4、什么是多态性?所谓多态性是指当程序中的其他部分发出同样的消息时,根据接收消息对象的不同能够自动执行类中相应的方法。

其好处是,用户不必知道某个对象所属的类就可以执行多态行为,从而为程序设计带来更大便利。

5、什么是面对对象的程序设计方法?这种方法将设计目标从模拟现实世界的行为转向了模拟现实世界中存在的对象及其各自的行为。

在OOP中,将“对象”作为系统中最基本的运行实体,整个程序即由各种不同类型的对象组成,各对象既是一个独立的实体,又可通过消息相互作用,对象中的方法确定要向哪个对象发消息、发什么消息以及收到消息时如何进行处理等。

6、面对对象方法的特点是什么?(1)OOP以“对象”或“数据”为中心。

由于对象自然地反映了应用领域的模块性,因此具有相对稳定性,可以被用作一个组件去构成更困难的应用,又由于对象一般封装的是某一实际需求的各种成分,因此,某一对象的变更对整个系统几乎没有影响。

Java面向对象程序设计模拟试题1及答案

Java面向对象程序设计模拟试题1及答案

Java面向对象程序设计模拟试题1一、单项选择题(本大题共15小题,每小题1分,共15分)1. Java语言属于A. 机器语言B. 高级语言C. 自然语言D. 汇编语言2. Java源文件的扩展名是A. docB. exeC. javaD. class3. Java语言的字符使用的字符编码是A. ASCIIB. UnicodeC. UTF-8D. GB23124. Java中int类型所占字节数是A. 1B. 2C. 4D. 85. 给定下面代码段,程序运行结果是public class Foo{public static void main(String[] args){int i = 1;int j = i++;if((++i > j) && (i++ == j)){i += j;}System.out.println("i = "+i) ;}}A. i = 1B. i = 2C. i = 3D. i = 4 if内的判断也会对数值有影响6. 设有Circle类,执行下面语句后,哪个对象可以被垃圾回收器回收Circle a = new Circle();Circle b = new Circle();Circle c = new Circle();a = b;a = c;c = null;A.原来a所指的对象B.原来b所指的对象C.原来b和c所指的对象D.原来c所指的对象7. 下列程序段的运行结果为int index = 1;int foo[] = new int[3];int bar = foo[index];int baz = bar + index;A. baz 的值为0B. baz 的值为1C. baz 的值为2D. 抛出一个异常8. 执行下列语句后输出的结果是String s = "\"Hello,World!\"";System.out.println(s.length());A. 12B. 14C. 16D. 189. 下列代码执行后输出foo的结果为int index = 1;String[] test = new String[3];String foo = test[index];System.out.println(foo);A. ""B. nullC. 抛出一个异常D. 代码不能编译10. 下面程序运行结果为class Super{public int i = 0;public Super(String text){i = 1;}}public class Sub extends Super{public Sub(String text){i = 2;}public static void main(String[] args){Sub sub = new Sub("Hello");System.out.println(sub.i);}}A. 该程序有编译错误B. 编译成功输出0C. 编译成功输出1D. 编译成功输出211.下面代码在运行时会产生什么异常int a[] = {1,2,3,4,5};System.out.println(a[5]);A. ArrayIndexOutOfBoundsExceptionB. IndexOutOfBoundsExceptionC. ObjectClastExceptionD. NullPointerException12.有下列一段代码,执行后输出结果为。

软件设计师分类模拟题面向对象方法学(一)有答案

软件设计师分类模拟题面向对象方法学(一)有答案

软件设计师分类模拟题面向对象方法学(一)单项选择题1. 已知3个类A、B和C,其中类A由类B的一个实例和类C的一个或多个实例构成。

能够正确表示类A、B和C之间关系的UML类图是______。

A.B.C.D.2. 在uML语言中,图5-3中的a、b、c三种图形符号按照顺序分别表示______。

A.边界对象、实体对象、控制对象B.实体对象、边界对象、控制对象C.控制对象、实体对象、边界对象D.边界对象、控制对象、实体对象答案:C当不适合采用生成子类的方法对已有的类进行扩充时,可以采用 3 设计模式动态地给一个对象添加一些额外的职责;当应用程序由于使用大量的对象,造成很大的存储开销时,可以采用 4 设计模式运用共享技术来有效地支持大量细粒度的对象;当想使用一个已经存在的类,但其接口不符合需求时,可以采用 5 设计模式将该类的接口转换成我们希望的接口。

3.A.命令(Command)B.适配器(Adapter)C.装饰(Decorator)D.享元(Flyweight)4.A.命令(Command)B.适配器(Adapter)C.装饰(Decorator)D.享元(Flyweight)答案:D5.A.命令(Command)B.适配器(Adapter)C.装饰(Decorator)D.享元(Flyweight)答案:B6. 下列关于一个类的静态成员的描述中,不正确的是______。

A.该类的对象共享其静态成员变量的值B.静态成员变量可被该类的所有方法访问C.该类的静态方法只能访问该类的静态成员变量D.该类的静态数据成员变量的值不可修改答案:D开-闭原则(0pen-Closed Principle,OCP)是面向对象的可复用设计的基石。

开-闭原则是指一个软件实体应当对7 开放,对8 关闭;里氏代换原则(Liskov Substitution Principle,LSP)是指任何9 可以出现的地方,10 一定可以出现。

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

《面向对象分析与设计》模拟题(补)
一.单项选择题
1.下面描述中()不是使用软件模型的目的。

A 可以更好地理解问题
B 可以更早地发现错误或疏漏的地方
C 可以为最后代码的生成提供依据
D 在开发过程中使用面向对象方法
2.关于参与者的说法中错误的是()。

A 参与者是与目标系统交互的人或物
B 参与者可以是实际的人,也可以是外部设备、外部系统等
C 参与者是用例图的重要组成部分,因此它是目标系统的组成部分
D 参与者之间可以存在一定的关系
3.状态图中不能表示的概念有()。

A 动作
B 类
C 转移 D事件
4.计算机(Computer)由中央处理器、内存、软盘、硬盘、显示器、键盘、鼠标等组成。

那么Computer类和其它类(CPU、RAM、FloppyDrive、HardDisk、Monitor、Keyboard、Mouse)之间的关系是()。

A 泛化关系(Generalization)
B 实现关系(Realization)
C 包含关系(Inclusion)
D 聚集关系(Aggregation)
5.()是表达系统类及其相互联系的图示,它是面向对象设计的核心,建立状态图、协
作图和其他图的基础。

A 对象图
B 组件图
C 类图
D 配置图
6.继承反映了类间的一种层次关系,而()反映了一种整体与部分的关系。

A 继承
B 组合
C 封装
D 多态
7.不属于UML结构物件的是()。

A 交互
B 类
C 用例
D 组件
8.内聚表示一个模块()的程度。

A 可以被更加细化
B 能够适时地完成其功能
C 仅关注在一件事情上
D 联接其他模块和外部世界
9.需求规格说明描述()。

A 基于计算机系统的功能、性能和约束
B 每个子系统的实现
C 软件体系结构元素
D 系统使用说明
10.下列事物中一般不是目标系统的外部参与者的是()。

A 人
B 外部设备
C 外部系统
D 数据存储
11.根据下面的代码,可以确定类A与类B之间存在()关系。

public class A {
private B theB;
public void aMethod(){ theB.doSomthing(); }
}
A 关联
B 泛化
C 实现
D 包含
12.面向对象的特点主要概括为()。

A 可分解性、可组合性、可分类性
B 继承性、封装性、多态性
C 抽象性、继承性、封装性、多态性
D 封装性、易维护性、可扩展性、可重用性
13.下面那个图符表示UML中的实现关系?()。

A B
C D
14.()就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示
系统中软件和硬件的物理架构。

A 组件图
B 协作图
C 状态图
D 配置图
15.关于用例与类的对比中()是错误的。

A 都属于模型结构元素
B 都存在继承关系
C 类描述系统的部分静态视图,用例描述系统动态的行为视图
D 类描述的是系统的内部构成,用例也可以描述系统的内部构成
16.描述对象之间静态联系的是()。

A 一般-特殊结构
B 整体-部分结构
C 实例链接
D 消息连接
17.()可以帮助人们简单方便地复用已经成功的设计或体系结构。

A 商业组件
B 逆向工程
C 设计模式
D 需求规格说明
18.内聚表示一个模块()的程度。

A 可以被更加细化
B 能够适时地完成其功能
C 仅关注在一件事情上
D 联接其他模块和外部世界
二.简答题
1、以下类图中的类关系是否正确?若不正确,说明理由并改正。

飞机由机翼、机身、驾驶舱构成。

2、画出能正确表示下面叙述的类图(括号内为类名)。

“一个雇员(Employee)最多由一个经理(Manager)管理,某些经理管理多个雇员,某些经理不管理任何雇员”。

3、简述聚合(Aggregation)和组合(Composition)的关系,并举例说明。

4、下面类图中,接口Service中定义了三个方法。

其中ClientA只使用methodA方法,
ClientB只使用methodB方法,ClientC只使用methodC方法。

根据接口分离原则重新设计该类图。

三.综合应用题
1、考虑一个“通讯录管理系统”,通讯录包含若干条目,每个条目包括:姓名、电话、邮
编、通信地址4个内容。

对通讯录要求的操作包括:查看条目、查找条目、增加条目、
删除条目。

对条目的要求是能够设置和获取其中的4个属性。

要求系统通过图形用户界面操作通讯录,增加条目时,创建一个通讯录条目对象,通过图形界面编辑条目属性并写回到条目对象中。

请回答下面问题:
1)绘制系统的用例图。

2)如果要求在通讯录中不允许有姓名相同的条目,请写出“增加条目”功能的事件流
描述(包括可选事件流)。

3)经过初步分析,找到如下类,请用类图描述类之间的关系。

通讯录(TXL)、通讯录条目(TXLItem)、界面(UI)
4)为2)中的正常事件流绘制顺序图。

2、考虑一个简单的“学生选课系统”,学生可以查看已选修课程、退选课程;管理员可以
查看全校课程、添加课程。

描述课程的信息包括:课程号、课程名称、开课教师,课程号唯一确定一门课程。

管理员添加课程时,创建课程对象,通过图形界面输入课程信息后保存到课程对象中,将课程对象保存到全校课程列表中。

1)识别参与者和用例,并绘制系统的用例图。

2)如果要求不能添加重复的课程,请写出管理员用户“添加课程”功能的事件流描述
(包括可选事件流)。

3)经过初步分析添加课程用例,找到如下类,请用类图描述类之间的关系。

全校课程集合类(Courses)、课程类(Course)、界面(AdminstratorUI)(本题10分)。

4)为2)中的正常事件流绘制顺序图。

参考答案:
一.单项选择题
二. 简答题
第1题
不正确,飞机和构成部件之间不是泛化关系,应该是组合关系
机翼机身驾驶舱
飞机
第2题
第3题
1)聚合和组合都是一种包含关系,组合是一种更强的聚合关系。

2)组合关系中,容器和包含的对象具有相同的生命周期,聚合是一种相对松散的关系,
容器和包含的对象可相对独立。

3)雁阵由大雁构成,属于一种聚合关系;1只大雁拥有2只翅膀,属于组合关系。

第4题
三. 综合应用题
1.1) 系统用例图
U ser
2) 事件流描述
正常事件流
1、用户查看通讯录,选择添加条目功能项,启动该用例;
2、用户输入姓名、电话、邮编和通讯地址
3、系统保存通讯录数据,更新视图
可选事件流
第2步(用户输入姓名重复)
2.1 用户输入姓名已存在,系统提示是否重新输入姓名
2.2 用户选择重新输入姓名,用例从第2步正常执行
2.3 用户选择放弃,用例结束
3) 类图
4) 顺序图
2. 1) 系统用例图
StudentU ser
Administrator
2) 事件流描述 正常事件流
1、管理员查看全校课程列表,选择添加课程功能项,启动该用例;
2、管理员输入课程名称、任课教师、课程号;
3、系统保存课程列表,更新视图
可选事件流 第2步(管理员输入课程号重复) 2.1 管理员输入课程号已存在,系统提示是否重新输入课程号 2.2 管理员选择重新输入课程号,用例从第2步正常执行
2.3 管理员选择放弃,用例结束
3) 类图
4) 顺序图。

相关文档
最新文档